# FAQ

## What languages are supported?

There is a range of content that can be translated. To do this you must pass the language code as a parameter. More details in the individual endpoints. \
Here are the currently supported languages:

| **Language**   | **Code** | **Note**         |
| -------------- | -------- | ---------------- |
| English (main) | en\_US   | Full translate   |
| Svenska        | sv\_SE   | Full translate   |
| Italiano       | it\_IT   | Full translate   |
| Français       | fr\_FR   | Full translate   |
| Polski         | pl\_PL   | Full translate   |
| Dansk          | da\_DK   | 60% of translate |
| Español        | es\_ES   | Full translate   |
| Norsk          | nn\_NO   | Full translate   |
| Slovenčina     | sk\_SK   | 60% of translate |
| Ελληνικά       | el\_GR   | 60% of translate |
| Deutsch        | de\_DE   | Full translate   |
| Português      | pt\_PT   | Full translate   |
| Română         | ro\_RO   | 60% of translate |
| Česky          | cs\_CZ   | 60% of translate |
| Magyar         | hu\_HU   | 60% of translate |
| 简体中文           | zh\_CN   | 60% of translate |
| Nederlands     | nl\_NL   | Full translate   |
| Eesti          | et\_EE   | Full translate   |
| Русский        | ru\_RU   | 60% of translate |
| 日本語            | ja\_JP   | 60% of translate |

## How can I view/download the entity media?

Some elements have an image. All images reside on our static site. You can access the image by going to the following URL:&#x20;

`https://static.soccerfootball.info/images/?i=ID_ITEM`

Replacing `ID_ITEM`with the code of the element you are looking for

## How paginate work?

Endpoints with many returns routinely paginated. Here I explain more about how pagination works. \
First of all, you need to know that the number of elements per page changes automatically depending on your subscription. **There is no possibility to specify the number of elements per page.**

* BASIC: *25*
* PRO: *25*
* ULTRA: *75*
* MEGA: *100*

Using the **`p`** parameter you can specify the required page number, if you omit it as a default value page 1 is required. In the body of the endpoint response you will find the paginate section. This indicates that pagination is active in the following call. If the value would be an empty array, then the call is not paginated.

```javascript
{
  "status": 200,
  "errors": [],
  	"pagination": [
      {
        "page": 1,
        "per_page": 100,
        "items" : 6726
      }
    ],
  	"result": [
  		...
  	]
}
```

* **`page`** indicates the current page number
* **`per_page`** indicates the number of items there are per page
* **`items`** indicates the total number of items

To see if there are any new elements, you can store the last **`items`** value and check it periodically.\
To figure out how many pages there are for each endpoint (and then call them with the **`p`** parameter) just divide **`items`** with the **`per_page`** value, rounding up.

If you use a CSV format, the paginate data appear in the first column with this format: \
page\_**1**\_perPage\_**100**\_items\_**38250**

* **`1`** indicates the current page number
* **`100`** indicates the number of items there are per page
* **`38250`** indicates the total number of items

In general if you want to know how many page there are can do the following operation: \
\&#xNAN;**`items / per_page = number_of_pages`**

## How can i request a custom query/endpoint?

The first question is: Why do I need a custom endpoint? Simple, sometimes to optimize your project you need to perform very complex queries on a large database. Here's an example: I want to know the average dangerous attacks and normal attacks of teams that scored at least X goals in a predefined time frame.

We can help you! And we will create a custom enpoint for you that you can call as many times as you want, with different parameters, in complete autonomy.

To request it is very simple: write to <info@soccerfootball.info> and describe what your endpoint should do and we will guide you step by step.
