QVeris
Back to providers
API-SPORTS American Football API
Provider profileAvailable in QVeris

API-SPORTS American Football API

# Introduction Welcome to Api-Basketball! You can use our API to access all API endpoints, which can get information about Basketball Leagues & Cups. We have language bindings in C, C#, cURL, Dart, Go, Java, Javascript, NodeJs, Objective-c, OCaml, Php, PowerShell, Python, Ruby, Shell and Swift! You can view code examples in the dark area to the right, and you can switch the programming language of the examples with the tabs in the top right. # Authentication We uses API keys to allow access to the API. You can register a new API key directly on our [dashboard](https://dashboard.api-football.com/register). API-SPORTS : https://v1.basketball.api-sports.io/ Our API expects for the API key to be included in all API requests to the server in a header that looks like the following: > Make sure to replace `XxXxXxXxXxXxXxXxXxXxXxXx` with your API key. REQUESTS HEADERS & CORS The API is configured to work only with GET requests and allows only the headers listed below: * `x-apisports-key` If you make non-GET requests or add headers that are not in the list, you will receive an error from the API. Some frameworks *(especially in JS, nodeJS..)* automatically add extra headers, you have to make sure to remove them in order to get a response from the API. ## API-SPORTS Account If you decided to subscribe directly on our site, you have a dashboard at your disposal at the following url: [dashboard](https://dashboard.api-football.com/register) It allows you to: * To follow your consumption in real time * Manage your subscription and change it if necessary * Check the status of our servers * Test all endpoints without writing a line of code. You can also consult all this information directly through the API by calling the endpoint `status`. > This call does not count against the daily quota. ```json get("https://v1.basketball.api-sports.io/status"); // response { "get": "status", "parameters": [], "errors": [], "results": 1, "response": { "account": { "firstname": "xxxx", "lastname": "XXXXXX", "email": "xxx@xxx.com" }, "subscription": { "plan": "Free", "end": "2020-04-10T23:24:27+00:00", "active": true }, "requests": { "current": 12, "limit_day": 100 } } } ``` ### Headers sent as response When consuming our API, you will always receive the following headers appended to the response: * `x-ratelimit-requests-limit`: The number of requests allocated per day according to your subscription. * `x-ratelimit-requests-remaining`: The number of remaining requests per day according to your subscription. * `X-RateLimit-Limit`: Maximum number of API calls per minute. * `X-RateLimit-Remaining`: Number of API calls remaining before reaching the limit per minute. ### Dashboard ![dashboard](https://www.api-football.com/public/img/news/baseball-dashboard.png) ### Requests ![requests](https://www.api-football.com/public/img/news/baseball-requests.png) ### Live tester ![requests](https://www.api-football.com/public/img/news/baseball-live.png) # Architecture ![image](https://api-sports-media-temp.b-cdn.net/basketball-beta.png) # Logos / Images Calls to logos/images do not count towards your daily quota and are provided for free. However these calls are subject to a rate per second & minute, it is recommended to save this data on your side in order not to slow down or impact the user experience of your application or website. For this you can use CDNs such as [bunny.net](https://bunny.net?ref=8r6al7jhm4). We have a tutorial available [here](https://www.api-football.com/news/post/optimizing-sports-websites-bunnycdn-api-sports-image-storage-guide), which explains how to set up your own media system with BunnyCDN. Logos, images and trademarks delivered through the API are provided solely for identification and descriptive purposes (e.g., identifying leagues, teams, players or venues). We does not own any of these visual assets, and no intellectual property rights are claimed over them. Some images or data may be subject to intellectual property or trademark rights held by third parties (including but not limited to leagues, federations, or clubs). The use of such content in your applications, websites, or products may require additional authorization or licensing from the respective rights holders. You are fully responsible for ensuring that your usage of any logos, images, or branded content complies with applicable laws in your country or the countries where your services are made available. We are not affiliated with, sponsored by, or endorsed by any sports league, federation, or brand featured in the data provided. # Sample Scripts Here are some examples of how the API is used in the main development languages. You have to replace `{endpoint}` by the real name of the endpoint you want to call, like `leagues` or `games` for example. In all the sample scripts we will use the `leagues` endpoint as example. Also you will have to replace `XxXxXxXxXxXxXxXxXxXxXx` with your API-KEY provided in the [dashboard](https://dashboard.api-football.com/). ## C `libcurl` ```shell CURL *curl; CURLcode res; curl = curl_easy_init(); if(curl) { curl_easy_setopt(curl, CURLOPT_CUSTOMREQUEST, "GET"); curl_easy_setopt(curl, CURLOPT_URL, "https://v1.basketball.api-sports.io/leagues"); curl_easy_setopt(curl, CURLOPT_FOLLOWLOCATION, 1L); curl_easy_setopt(curl, CURLOPT_DEFAULT_PROTOCOL, "https"); struct curl_slist *headers = NULL; headers = curl_slist_append(headers, "x-apisports-key: XxXxXxXxXxXxXxXxXxXxXxXx"); curl_easy_setopt(curl, CURLOPT_HTTPHEADER, headers); res = curl_easy_perform(curl); } curl_easy_cleanup(curl); ``` ## C# `RestSharp` ```shell var client = new RestClient("https://v1.basketball.api-sports.io/leagues"); client. Timeout = -1; var request = new RestRequest(Method.GET); request. AddHeader("x-apisports-key", "XxXxXxXxXxXxXxXxXxXxXxXx"); IRestResponse response = client. Execute(request); Console. WriteLine(response. Content); ``` ## cURL `Curl` ```shell curl --request GET \ --url https://v1.basketball.api-sports.io/leagues \ --header 'x-apisports-key: XxXxXxXxXxXxXxXxXxXxXxXx' ``` ## Dart `http` ```dart var headers = { 'x-apisports-key': 'XxXxXxXxXxXxXxXxXxXxXxXx', }; var request = http. Request('GET', Uri.parse('https://v1.basketball.api-sports.io/leagues')); request.headers.addAll(headers); http. StreamedResponse response = await request.send(); if (response.statusCode == 200) { print(await response.stream.bytesToString()); } else { print(response.reasonPhrase); } ``` ## Go `Native` ```go package main import ( "fmt" "net/http" "io/ioutil" ) func main() { url := "https://v1.basketball.api-sports.io/leagues" method := "GET" client := &http. Client { } req, err := http. NewRequest(method, url, nil) if err != nil { fmt. Println(err) return } req. Header. Add("x-apisports-key", "XxXxXxXxXxXxXxXxXxXxXxXx") res, err := client. Do(req) if err != nil { fmt. Println(err) return } defer res. Body. Close() body, err := ioutil. ReadAll(res. Body) if err != nil { fmt. Println(err) return } fmt. Println(string(body)) } ``` ## Java `OkHttp` ```java var myHeaders = new Headers(); myHeaders.append("x-apisports-key", "XxXxXxXxXxXxXxXxXxXxXxXx"); var requestOptions = { method: 'GET', headers: myHeaders, redirect: 'follow' }; ``` `Unirest` ```java Unirest.setTimeouts(0, 0); HttpResponse response = Unirest.get("https://v1.basketball.api-sports.io/leagues") .header("x-apisports-key", "XxXxXxXxXxXxXxXxXxXxXxXx") .asString(); ``` ## Javascript `Fetch` ```javascript var myHeaders = new Headers(); myHeaders.append("x-apisports-key", "XxXxXxXxXxXxXxXxXxXxXxXx"); var requestOptions = { method: 'GET', headers: myHeaders, redirect: 'follow' }; fetch("https://v1.basketball.api-sports.io/leagues", requestOptions) .then(response => response.text()) .then(result => console.log(result)) .catch(error => console.log('error', error)); ``` `jQuery` ```javascript var settings = { "url": "https://v1.basketball.api-sports.io/leagues", "method": "GET", "timeout": 0, "headers": { "x-apisports-key": "XxXxXxXxXxXxXxXxXxXxXxXx", }, }; $.ajax(settings).done(function (response) { console.log(response); }); ``` `XHR` ```javascript var xhr = new XMLHttpRequest(); xhr.withCredentials = true; xhr.addEventListener("readystatechange", function() { if(this.readyState === 4) { console.log(this.responseText); } }); xhr.open("GET", "https://v1.basketball.api-sports.io/leagues"); xhr.setRequestHeader("x-apisports-key", "XxXxXxXxXxXxXxXxXxXxXxXx"); xhr.send(); ``` ## NodeJs `Axios` ```nodejs var axios = require('axios'); var config = { method: 'get', url: 'https://v1.basketball.api-sports.io/leagues', headers: { 'x-apisports-key': 'XxXxXxXxXxXxXxXxXxXxXxXx', } }; axios(config) .then(function (response) { console.log(JSON.stringify(response.data)); }) .catch(function (error) { console.log(error); }); ``` `Native` ```nodejs var https = require('follow-redirects').https; var fs = require('fs'); var options = { 'method': 'GET', 'hostname': 'v1.basketball.api-sports.io', 'path': '/leagues', 'headers': { 'x-apisports-key': 'XxXxXxXxXxXxXxXxXxXxXxXx', }, 'maxRedirects': 20 }; var req = https.request(options, function (res) { var chunks = []; res.on("data", function (chunk) { chunks.push(chunk); }); res.on("end", function (chunk) { var body = Buffer.concat(chunks); console.log(body.toString()); }); res.on("error", function (error) { console.error(error); }); }); req.end(); ``` `Requests` ```nodejs var request = require('request'); var options = { 'method': 'GET', 'url': 'https://v1.basketball.api-sports.io/leagues', 'headers': { 'x-apisports-key': 'XxXxXxXxXxXxXxXxXxXxXxXx', } }; request(options, function (error, response) { if (error) throw new Error(error); console.log(response.body); }); ``` `Unirest` ```nodejs var unirest = require('unirest'); var req = unirest('GET', 'https://v1.basketball.api-sports.io/leagues') .headers({ 'x-apisports-key': 'XxXxXxXxXxXxXxXxXxXxXxXx', }) .end(function (res) { if (res.error) throw new Error(res.error); console.log(res.raw_body); }); ``` ## Objective-c `NSURLSession` ```objectivec #import dispatch_semaphore_t sema = dispatch_semaphore_create(0); NSMutableURLRequest *request = [NSMutableURLRequest requestWithURL:[NSURL URLWithString:@"https://v1.basketball.api-sports.io/leagues"] cachePolicy: NSURLRequestUseProtocolCachePolicy timeoutInterval:10.0]; NSDictionary *headers = @{ @"x-apisports-key": @"XxXxXxXxXxXxXxXxXxXxXxXx", }; [request setAllHTTPHeaderFields: headers]; [request setHTTPMethod:@"GET"]; NSURLSession *session = [NSURLSession sharedSession]; NSURLSessionDataTask *dataTask = [session dataTaskWithRequest: request completionHandler:^(NSData *data, NSURLResponse *response, NSError *error) { if (error) { NSLog(@"%@", error); dispatch_semaphore_signal(sema); } else { NSHTTPURLResponse *httpResponse = (NSHTTPURLResponse *) response; NSError *parseError = nil; NSDictionary *responseDictionary = [NSJSONSerialization JSONObjectWithData: data options:0 error:&parseError]; NSLog(@"%@",responseDictionary); dispatch_semaphore_signal(sema); } }]; [dataTask resume]; dispatch_semaphore_wait(sema, DISPATCH_TIME_FOREVER); ``` ## OCaml `Cohttp` ```ocaml open Lwt open Cohttp open Cohttp_lwt_unix let reqBody = let uri = Uri.of_string "https://v1.basketball.api-sports.io/leagues" in let headers = Header.init () |> fun h -> Header.add h "x-apisports-key" "XxXxXxXxXxXxXxXxXxXxXxXx" in Client.call ~headers `GET uri >>= fun (_resp, body) -> body |> Cohttp_lwt. Body.to_string >|= fun body -> body let () = let respBody = Lwt_main.run reqBody in print_endline (respBody) ``` ## Php `cURL` ```php $curl = curl_init(); curl_setopt_array($curl, array( CURLOPT_URL => 'https://v1.basketball.api-sports.io/leagues', CURLOPT_RETURNTRANSFER => true, CURLOPT_ENCODING => '', CURLOPT_MAXREDIRS => 10, CURLOPT_TIMEOUT => 0, CURLOPT_FOLLOWLOCATION => true, CURLOPT_HTTP_VERSION => CURL_HTTP_VERSION_1_1, CURLOPT_CUSTOMREQUEST => 'GET', CURLOPT_HTTPHEADER => array( 'x-apisports-key: XxXxXxXxXxXxXxXxXxXxXxXx', ), )); $response = curl_exec($curl); curl_close($curl); echo $response; ``` `Request2` ```php <?php require_once 'HTTP/Request2.php'; $request = new HTTP_Request2(); $request->setUrl('https://v1.basketball.api-sports.io/leagues'); $request->setMethod(HTTP_Request2::METHOD_GET); $request->setConfig(array( 'follow_redirects' => TRUE )); $request->setHeader(array( 'x-apisports-key' => 'XxXxXxXxXxXxXxXxXxXxXxXx', )); try { $response = $request->send(); if ($response->getStatus() == 200) { echo $response->getBody(); } else { echo 'Unexpected HTTP status: ' . $response->getStatus() . ' ' . $response->getReasonPhrase(); } } catch(HTTP_Request2_Exception $e) { echo 'Error: ' . $e->getMessage(); } ``` `Http` ```php $client = new http\Client; $request = new http\Client\Request; $request->setRequestUrl('https://v1.basketball.api-sports.io/leagues'); $request->setRequestMethod('GET'); $request->setHeaders(array( 'x-apisports-key' => 'XxXxXxXxXxXxXxXxXxXxXxXx' )); $client->enqueue($request)->send(); $response = $client->getResponse(); echo $response->getBody(); ``` ## PowerShell `RestMethod` ```powershell $headers = New-Object "System. Collections. Generic. Dictionary[[String],[String]]" $headers. Add("x-apisports-key", "XxXxXxXxXxXxXxXxXxXxXxXx") $response = Invoke-RestMethod 'https://v1.basketball.api-sports.io/leagues' -Method 'GET' -Headers $headers $response | ConvertTo-Json ``` ## Python `http.client` ```python import http.client conn = http.client.HTTPSConnection("v1.basketball.api-sports.io") headers = { 'x-apisports-key': "XxXxXxXxXxXxXxXxXxXxXxXx" } conn.request("GET", "/leagues", headers=headers) res = conn.getresponse() data = res.read() print(data.decode("utf-8")) ``` `Requests` ```python url = "https://v1.basketball.api-sports.io/leagues" payload={} headers = { 'x-apisports-key': 'XxXxXxXxXxXxXxXxXxXxXxXx', } response = requests.request("GET", url, headers=headers, data=payload) print(response.text) ``` ## Ruby `Net::HTTP` ```ruby require 'uri' require 'net/http' require 'openssl' url = URI("https://v1.basketball.api-sports.io/leagues") http = Net::HTTP.new(url.host, url.port) http.use_ssl = true http.verify_mode = OpenSSL::SSL::VERIFY_NONE request = Net::HTTP::Get.new(url) request["x-apisports-key"] = 'XxXxXxXxXxXxXxXxXxXxXxXx' response = http.request(request) puts response.read_body ``` ## Shell `Httpie` ```shell http --follow --timeout 3600 GET 'https://v1.basketball.api-sports.io/leagues' \ x-apisports-key:'XxXxXxXxXxXxXxXxXxXxXxXx' \ ``` `wget` ```shell wget --no-check-certificate --quiet \ --method GET \ --timeout=0 \ --header 'x-apisports-key: XxXxXxXxXxXxXxXxXxXxXxXx' \ 'https://v1.basketball.api-sports.io/leagues' ``` ## Swift `URLSession` ```swift import Foundation #if canImport(FoundationNetworking) import FoundationNetworking #endif var semaphore = DispatchSemaphore (value: 0) var request = URLRequest(url: URL(string: "https://v1.basketball.api-sports.io/leagues")!,timeoutInterval: Double.infinity) request.addValue("XxXxXxXxXxXxXxXxXxXxXxXx", forHTTPHeaderField: "x-apisports-key") request.httpMethod = "GET" let task = URLSession.shared.dataTask(with: request) { data, response, error in guard let data = data else { print(String(describing: error)) semaphore.signal() return } print(String(data: data, encoding: .utf8)!) semaphore.signal() } task.resume() semaphore.wait() ``` # Changelog ### (1.5.6) - Endpoint `leagues` - Add field `coverage` - Endpoint `games` - Add endpoint `games/statistics/teams` - Add endpoint `games/statistics/players` - Add field `venue` - Add endpoint `players`

Data & AnalyticsOddsSocialStandingsCommunicationAIDataTeamsGeolocationGamesStructured DataData ContentScience Health Public
Official website

Continue with this provider

This provider-level handoff preserves only its public ID. No tool or business task is guessed; choose a current tool during rediscovery before setup can be treated as complete.

Selected provider
api_sports
Selected tool
Unknown — confirm during rediscovery
Business task
Unknown — confirm during rediscovery
Catalog updated
Unknown — confirm during rediscovery
Continue setupThe Plugins page keeps a safe link back to this provider profile.
Tools
331
Ready to inspect and call
Capabilities
Unknown
Covered task areas
Success
Unknown
Recent call reliability
Latency
Unknown
Typical response time
From
1 credits
QVeris credits
List Leagues

Get the list of available leagues with optional filtering by ID, season, current status, or timezone

SportsAflLeague
1 credit / call
Unknown
Latency unavailable
List Volleyball Leagues

Get a list of volleyball leagues and cups with optional filtering by search term, country, type, season, or team. League IDs are unique and consistent across seasons.

SportsVolleyballLeagues
1 credit / call
Unknown
Latency unavailable
List Handball Leagues and Cups

Get the list of available handball leagues and cups with optional filtering by country, type, season, team, league name, or search term. The league id is unique and kept across all seasons.

SportsHandballLeagues
1 credit / call
Unknown
Latency unavailable
List Rugby Leagues

Retrieve a list of rugby leagues and cups available in the API. The league ID is unique and remains consistent across all seasons. Most parameters can be used together for filtering.

SportsRugbyLeaguesSample: id
1 credit / call
Unknown
Latency unavailable
List Leagues

Retrieve a list of American football leagues (NFL, NCAA, etc.).; Return the list of all available competitions.

SportsAmerican FootballLeagues
1 credit / call
Unknown
Latency unavailable
List NBA Leagues

Get the list of available NBA leagues such as Standard, Vegas, Utah, etc. League names can be used as filters in other endpoints.

SportsBasketballNbaSample: x-apisports-key
1 credit / call
Unknown
Latency unavailable
leagues

Return the list of all available competitions. The league `id` are unique in the API and competitions keep it across all `seasons` This endpoint contains a field named `coverage` that indicates for each season of a competition the data that are available.

Leagues
1 credit / call
Unknown
Latency unavailable
leagues

Get the list of available leagues and cups. The league `id` are unique in the API and leagues keep it across all `seasons` This endpoint also returns the `coverage` of each competition, which makes it possible to know what is available for leagues or cups. The values returned by the coverage indicate the data available at the moment you call the API, so for a competition that has not yet started, it is normal to have all the features set to False. This will be updated once the competition has started. The coverage of a competition can vary from season to season and values set to `True` do not guarantee 100% data availability. > You can find all the leagues ids on our [Dashboard](https://dashboard.api-football.com/basketball/ids). > Most of the parameters of this endpoint can be used together.

LeaguesSample: id, season
1 credit / call
Unknown
Latency unavailable
leagues

Get the list of available leagues and cups. The league `id` are unique in the API and leagues keep it across all `seasons` > You can find all the leagues ids on our [Dashboard](https://dashboard.api-football.com/hockey/ids). > Most of the parameters of this endpoint can be used together.

LeaguesSample: id
1 credit / call
Unknown
Latency unavailable
leagues

Get the list of available leagues and cups. The league `id` are unique in the API and leagues keep it across all `seasons` > You can find all the leagues ids on our [Dashboard](https://dashboard.api-football.com/handball/ids). > Most of the parameters of this endpoint can be used together.

LeaguesSample: id
1 credit / call
Unknown
Latency unavailable
leagues

Get the list of available leagues and cups. The league `id` are unique in the API and leagues keep it across all `seasons` > You can find all the leagues ids on our [Dashboard](https://dashboard.api-football.com/baseball/ids). > Most of the parameters of this endpoint can be used together.

LeaguesSample: id
1 credit / call
Unknown
Latency unavailable
leagues

Get the list of available leagues and cups. The league `id` are unique in the API and leagues keep it across all `seasons` > You can find all the leagues ids on our [Dashboard](https://dashboard.api-football.com/rugby/ids). > Most of the parameters of this endpoint can be used together.

LeaguesSample: id
1 credit / call
Unknown
Latency unavailable
leagues

Get the list of available leagues and cups. The league `id` are unique in the API and leagues keep it across all `seasons` > You can find all the leagues ids on our [Dashboard](https://dashboard.api-football.com/volleyball/ids). > Most of the parameters of this endpoint can be used together.

LeaguesSample: id
1 credit / call
Unknown
Latency unavailable
leagues

Get the list of available leagues. The league `id` are unique in the API and leagues keep it across all `seasons` > You can find all the leagues ids on our [Dashboard](https://dashboard.api-football.com/afl/ids). Parameters: Most of the parameters of this endpoint can be used together.

LeaguesSample: id, season
1 credit / call
Unknown
Latency unavailable
leagues

Get the list of available leagues. All `leagues` can be used in other endpoints as filters. Available leagues * Africa * Orlando * Sacramento * Standard * Utah * Vegas > This endpoint does not require any parameters.

Leagues
1 credit / call
Unknown
Latency unavailable
List available betting types

Get all available bets. All bets `id` can be used in endpoint odds as filters.; Get all available bets. All bet IDs can be used as filters in the odds endpoint.

SportsRugbyBetting
1 credit / call
Unknown
Latency unavailable
List Available Bet Types for AFL Odds

Return the list of available bets for odds. All bet IDs can be used as filters in the odds endpoint.

SportsAflOdds
1 credit / call
Unknown
Latency unavailable
List Available Bets

Get all available bets. All bet IDs can be used as filters in the odds endpoint.

SportsHockeyBetting
1 credit / call
Unknown
Latency unavailable
List Available Bets for Odds

Return the list of available bets for odds. Can be used without parameters to get the complete list.; Return the list of available bets for odds. All bet IDs can be used as filters in the odds endpoint.; Return the list of available bets for odds. Can be called without parameters to get the complete list.

SportsAmerican FootballOdds
1 credit / call
Unknown
Latency unavailable
List available betting types

Get all available bets. All bet IDs can be used as filters in the odds endpoint.

SportsVolleyballOdds
1 credit / call
Unknown
Latency unavailable