# by basic

## View all matches of a specific filter with basic data ⬜ 🟨 🟦 🟩

<mark style="color:blue;">`GET`</mark> `https://api.soccerfootball.info/v1/matches/by/basic/`

This endpoint returns with all matches of as specific filter with basic data.\
&#x20;You can filter by: **`c`** championship id, **`m`** manager id and **`s`** stadium id. If you use more filter will be use AND logic.\
You can get specific items id from other endpoints. \
if this entity has **`has_image`** to true, you can access/download the entity media; see te instruction inside FAQ. The parameters **`l`** must be a language code getted from languages/list endpoint. \
Some elements such as championship and team names can be translated

Add `bet365_url` that contains bet365 url match. \
Please note, this is the link pointing to the match. After kickoff, the link may change but bet365 **should send** you back to the updated link.\
You have to replace .EXT with your needed extension ".com, .it etc..."

#### Query Parameters

| Name | Type   | Description                               |
| ---- | ------ | ----------------------------------------- |
| t    | string | Your API Token **`DIRECT API ONLY`**      |
| c    | string | Championship ID                           |
| m    | string | Manager ID                                |
| s    | string | Stadium ID                                |
| p    | string | Page                                      |
| l    | string | Language code (default value is "en\_US") |

#### Headers

| Name            | Type   | Description                                         |
| --------------- | ------ | --------------------------------------------------- |
| x-rapidapi-key  | string | Your API token **`RAPIDAPI ONLY`**                  |
| x-rapidapi-host | string | soccerfootballinfo.rapidapi.com **`RAPIDAPI ONLY`** |

{% tabs %}
{% tab title="200 Success response" %}

```javascript
{
  "status": 200,
  "errors": [

  ],
  "pagination": [
    {
      "page": 1,
      "per_page": 100,
      "items": 327
    }
  ],
  "result": [
    {
      "id": "6050031284c7991a",
      "date": "2021-03-19 00:00:00",
      "status": "ENDED",
      "timer": "90:00",
      "championship": {
        "id": "5fda5fac01e49b16",
        "name": "Ecuador Primera B",
        "s_name": "LigaPro Primera B 2021"
      },
      "teamA": {
        "id": "5fda5fd7100d115f",
        "name": "America de Quito",
        "score": {
          "f": "1",
          "1h": "0",
          "2h": "1",
          "o": null,
          "p": null
        },
        "stats": {
          "possession": "51",
          "attacks": {
            "n": "101",
            "d": "46",
            "o_s": null
          },
          "shoots": {
            "t": "8",
            "off": "1",
            "on": "7",
            "g_a": null
          },
          "penalties": "0",
          "corners": {
            "t": "4",
            "f": "4",
            "h": "3"
          },
          "fouls": {
            "t": null,
            "y_c": "4",
            "y_t_r_c": "0",
            "r_c": "0"
          },
          "substitutions": "0",
          "throwins": null,
          "injuries": "1"
          "dominance_avg_2_5": "10.10", // average of last 2.5 minutes of dominance index
           "xG" : {
                 "kickoff" : "1.02", // Expected goal at kickoff
                 "live" : "0.88" // Current expected goal
            }
        },
        "manager": null
      },
      "teamB": {
        "id": "5fda60336dfb2746",
        "name": "El Nacional",
        "score": {
          "f": "1",
          "1h": "0",
          "2h": "1",
          "o": null,
          "p": null
        },
        "stats": {
          "possession": "49",
          "attacks": {
            "n": "100",
            "d": "51",
            "o_s": null
          },
          "shoots": {
            "t": "5",
            "off": "2",
            "on": "3",
            "g_a": null
          },
          "penalties": "0",
          "corners": {
            "t": "7",
            "f": "7",
            "h": "4"
          },
          "fouls": {
            "t": null,
            "y_c": "2",
            "y_t_r_c": "0",
            "r_c": "0"
          },
          "substitutions": "0",
          "throwins": null,
          "injuries": "1"
          "dominance_avg_2_5": "10.10", // average of last 2.5 minutes of dominance index
           "xG" : {
                 "kickoff" : "1.02", // Expected goal at kickoff
                 "live" : "0.88" // Current expected goal
            }
        },
        "manager": null
      },
      "events": [
        {
          "type": "yellow_card",
          "timer": "90+5",
          "team": "A"
        },
        {
          "type": "yellow_card",
          "timer": "90+2",
          "team": "A"
        },
        {
          "type": "yellow_card",
          "timer": "86",
          "team": "A"
        },
        {
          "type": "yellow_card",
          "timer": "80",
          "team": "A"
        },
        {
          "type": "goal",
          "timer": "72",
          "team": "B"
        },
        {
          "type": "corner",
          "timer": "70",
          "team": "B"
        },
        {
          "type": "corner",
          "timer": "65",
          "team": "B"
        },
        {
          "type": "corner",
          "timer": "63",
          "team": "B"
        },
        {
          "type": "goal",
          "timer": "59",
          "team": "A"
        },
        {
          "type": "corner",
          "timer": "58",
          "team": "A"
        },
        {
          "type": "yellow_card",
          "timer": "42",
          "team": "B"
        },
        {
          "type": "corner",
          "timer": "41",
          "team": "A"
        },
        {
          "type": "yellow_card",
          "timer": "33",
          "team": "B"
        },
        {
          "type": "corner",
          "timer": "24",
          "team": "B"
        },
        {
          "type": "corner",
          "timer": "21",
          "team": "B"
        },
        {
          "type": "corner",
          "timer": "17",
          "team": "A"
        },
        {
          "type": "corner",
          "timer": "12",
          "team": "B"
        },
        {
          "type": "corner",
          "timer": "9",
          "team": "B"
        },
        {
          "type": "corner",
          "timer": "6",
          "team": "A"
        }
      ],
      "dominance_index": [
            {
                "timer":"00:00", // timer of dominance index
                "teamA":"5",
                "teamB":"5"
             },
             ...
         ],
      "referee": null,
      "stadium": {
        "id": "5fb9697971d74bf8",
        "name": "Olimpico Atahualpa"
      },
         "bet365_url" : "https://www.bet365.EXT/#/AC/B1/C1/D8/E128998076/F3"

    },
    ...
  ]
}
```

{% endtab %}
{% endtabs %}

{% file src="<https://1849281761-files.gitbook.io/~/files/v0/b/gitbook-x-prod.appspot.com/o/spaces%2F-MO7VPtH3yGUfnmbVIHd%2Fuploads%2F289e6TUQHD5HA6cyKgpP%2Fezgif-7-b4ccf70f18.gif?alt=media&token=80d7c09f-2a23-48cd-baeb-8aa29dcf4695>" %}

## Example of code for direct API

{% tabs %}
{% tab title="PHP" %}

```php
$url = 'https://api.soccerfootball.info/v1/matches/by/basic/?t=TOKEN&c=CHAMPIOSHIP_ID';

$curl = curl_init();

curl_setopt_array($curl, array(
    CURLOPT_URL => $url,
    CURLOPT_PROXY => null,
    CURLOPT_RETURNTRANSFER => true,
    CURLOPT_FOLLOWLOCATION => true,
    CURLOPT_ENCODING => "",
    CURLOPT_MAXREDIRS => 10,
    CURLOPT_TIMEOUT => 30,
    CURLOPT_CUSTOMREQUEST => "GET"
));

$response = curl_exec($curl);
$error = curl_error($curl);

curl_close($curl);

if (!$err) {
  $result = json_decode($response);
  print_r($result);
} else {
    echo "cURL Error:" . $err;
}
```

{% endtab %}

{% tab title="Javascript" %}

```python
fetch("https://api.soccerfootball.info/v1/matches/by/basic/?t=TOKEN&c=CHAMPIOSHIP_ID", {
    "method": "GET"
})
.then(response => {
    console.log(response);
})
.catch(err => {
    console.error(err);
});
```

{% endtab %}

{% tab title="NodeJS" %}

```javascript
const request = require('request');

const options = {
  method: 'GET',
  url: 'https://api.soccerfootball.info/v1/matches/by/basic/?t=TOKEN&c=CHAMPIOSHIP_ID'
};

request(options, function (error, response, body) {
    if (error) throw new Error(error);

    console.log(body);
});
```

{% endtab %}

{% tab title="Phyton" %}

```python
import requests

url = "https://api.soccerfootball.info/v1/matches/by/basic/?t=TOKEN&c=CHAMPIOSHIP_ID"

response = requests.get(url).json()

print(response)
```

{% endtab %}

{% tab title="cURL" %}

```bash
curl --request GET \
    --url 'https://api.soccerfootball.info/v1/matches/by/basic/?t=TOKEN&c=CHAMPIOSHIP_ID'
```

{% endtab %}

{% tab title="GO" %}

```go
package main

import (
    "fmt"
    "net/http"
    "io/ioutil"
)

func main() {

    url := "https://api.soccerfootball.info/v1/matches/by/basic/?t=TOKEN&c=CHAMPIOSHIP_ID"

    req, _ := http.NewRequest("GET", url, nil)

    res, _ := http.DefaultClient.Do(req)

    defer res.Body.Close()
    body, _ := ioutil.ReadAll(res.Body)

    fmt.Println(res)
    fmt.Println(string(body))

}
```

{% endtab %}
{% endtabs %}

## Example of code for RapidAPI

{% tabs %}
{% tab title="PHP" %}

```php
$url = 'https://soccerfootballinfo.rapidapi.com/v1/matches/by/basic/?c=CHAMPIOSHIP_ID';

$curl = curl_init();

curl_setopt_array($curl, array(
    CURLOPT_URL => $url,
    CURLOPT_PROXY => null,
    CURLOPT_RETURNTRANSFER => true,
    CURLOPT_FOLLOWLOCATION => true,
    CURLOPT_ENCODING => "",
    CURLOPT_MAXREDIRS => 10,
    CURLOPT_TIMEOUT => 30,
    CURLOPT_CUSTOMREQUEST => "GET",
    CURLOPT_HTTPHEADER => [
        "x-rapidapi-host: soccerfootballinfo.rapidapi.com",
        "x-rapidapi-key: TOKEN"
    ],
));

$response = curl_exec($curl);
$error = curl_error($curl);

curl_close($curl);

if (!$err) {
  $result = json_decode($response);
  print_r($result);
} else {
    echo "cURL Error:" . $err;
}
```

{% endtab %}

{% tab title="Javascript" %}

```javascript
fetch("https://api.soccerfootball.info/v1/matches/by/basic/?c=CHAMPIOSHIP_ID", {
    "method": "GET",
    "headers": {
        "x-rapidapi-key": "TOKEN",
        "x-rapidapi-host": "soccerfootballinfo.rapidapi.com"
    }
})
.then(response => {
    console.log(response);
})
.catch(err => {
    console.error(err);
});
```

{% endtab %}

{% tab title="NodeJS" %}

```javascript
const request = require('request');

const options = {
  method: 'GET',
  url: "https://api.soccerfootball.info/v1/matches/by/basic/?c=CHAMPIOSHIP_ID",
  headers: {
   "x-rapidapi-key": "TOKEN",
     "x-rapidapi-host": "soccerfootballinfo.rapidapi.com"
   useQueryString: true
  }
};

request(options, function (error, response, body) {
    if (error) throw new Error(error);

    console.log(body);
});
```

{% endtab %}

{% tab title="Phyton" %}

```python
import requests

url = "https://soccerfootballinfo.rapidapi.com/v1/matches/by/basic/?c=CHAMPIOSHIP_ID"

headers = {
    "x-rapidapi-key": "TOKEN",
      "x-rapidapi-host": "soccerfootballinfo.rapidapi.com"
}

response = requests.request("GET", url, headers=headers)

print(response.text)
```

{% endtab %}

{% tab title="cURL" %}

```bash
curl --request GET \
    --url https://api.soccerfootball.info/v1/matches/by/basic/?c=CHAMPIOSHIP_ID \
    --header 'x-rapidapi-host: soccerfootballinfo.rapidapi.com' \
    --header 'x-rapidapi-key: TOKEN'
```

{% endtab %}

{% tab title="GO" %}

```go
package main

import (
    "fmt"
    "net/http"
    "io/ioutil"
)

func main() {

    url := "https://soccerfootballinfo.rapidapi.com/v1/matches/by/basic/?c=CHAMPIOSHIP_ID"

    req, _ := http.NewRequest("GET", url, nil)

    req.Header.Add("x-rapidapi-key", "TOKEN")
    req.Header.Add("x-rapidapi-host", "soccerfootballinfo.rapidapi.com")

    res, _ := http.DefaultClient.Do(req)

    defer res.Body.Close()
    body, _ := ioutil.ReadAll(res.Body)

    fmt.Println(res)
    fmt.Println(string(body))

}
```

{% endtab %}
{% endtabs %}

More example of code on [rapidAPI](https://rapidapi.com/soccerfootball-info-soccerfootball-info-default/api/soccer-football-)
