What is an API?
API is an acronym for Application Programming Interface. An API is a set of rules and protocols that allow different software applications to communicate with each other, enabling the transfer of data and/or functionality between different systems.
People sometimes use the term "API" without fully understanding what it means. For example, APIs tend to be designed for a particular purpose or function. There are often many different API endpoints designed to perform different operations. This means it is unfortunately generally meaningless to simply ask, "Does Sporty have an API?" without defining exactly what the API needs to do.
Sporty has developed many APIs but almost all are private integrations designed to meet the specific needs of an individual client or to integrate data or content internally within the Sporty platform. For example, Sporty provides a widget that displays competition fixtures and results that clients can use to display this data within a website on the Sporty platform (or to iFrame into their own website). This widget uses API endpoints that are restricted to be consumed only by Sporty and not by third parties. APIs such as this (that are for our internal use) are restricted because:
- The Sporty platform is constantly evolving and being extended. Whenever we change our private/internal API endpoints, it is likely to break API integrations performed by third parties unless we either go to the expense of making our changes backwards compatible or if we run an information programme to keep third parties aware of our internal changes so they can modify their own software accordingly.
- If we release an API to an approved third party, we normally include "throttling" that controls the number of API requests that can be made for different API endpoints (e.g. x thousand requests per second). This is because we've learned that some third-party developers fail to use caching effectively and sometimes would hit our API every time a user loads their web page. Since Sporty data is often sought multiple times by over one million web users per month, sloppy code from a third-party developer would be expensive if it caused our servers to scale up to respond to unnecessary API requests.
If you would like an API because you wish to incorporate data or content from Sporty into your own system or application, the starting point is for you to define exactly which data or content you wish to access, how often, for what purpose, and by what method.
If you're seeking competition data (fixtures & results) we will ask you to help us to understand why you are unable to embed these via iFrame using the fixtures widget and web page from Sporty. Our preference will probably be to improve our widget to meet your specific use case, since this also solves the issues identified in the points above.
However, if an iFrame is unsuitable and Sporty does not otherwise already have API endpoints that meet your specific needs, one of our team can scope and size our development of an API for you. Please be aware that this scoping and sizing task is itself normally chargeable and we will provide you with pricing for this initial investigation work.
Which off-the-shelf applications has Sporty integrated with?
Sporty has integrated with many major applications including those shown below. In most of these instances, Sporty has consumed the API supplied by these applications to develop the integration with Sporty.
How does Sporty decide whether to integrate with another off-the-shelf application?
There are two main factors that determine whether Sporty will perform an API integration with another application:
- Will someone underwrite the cost of development? Software development is expensive. If a client is prepared to meet the cost of development along with any ongoing costs necessary to host and support the API on an ongoing basis, then it helps Sporty justify the development.
- Is there enough benefit to justify Sporty underwriting the cost? If we can see that the development will bring a substantial benefit to a significant number of organisations using the Sporty platform, then it may support a business case for Sporty to pay for the development itself or contribute towards the cost of development. However, the timing for development will be weighed against a backlog of competing priorities.
If you are interested in engaging Sporty to integrate with your application or to provide you with an API, please email support@sportsground.com with a detailed brief of exactly what you require. You or your developer may prefer to provide a Swagger* specification to us to expedite this process.
*What is Swagger?
Swagger is an Open Source set of rules, specifications and tools for developing and describing RESTful APIs. The Swagger framework allows developers to create interactive, machine and human-readable API documentation.
API specifications typically include information such as supported operations, parameters and outputs, authorization requirements, available endpoints and licenses needed. Swagger can generate this information automatically from the source code by asking the API to return a documentation file from its annotations.
Swagger helps users build, document, test and consume RESTful web services. It can be used with both a top-down and bottom-up API development approach. In the top-down, or design-first, method, Swagger can be used to design an API before any code is written. In the bottom-up, or code-first method, Swagger takes the code written for an API and generates the documentation. Source: www.techtarget.com