Developers

# The Scoutfolio public API

> The Scoutfolio public API: read-only JSON for the plans, the templates and the guides at /api/v1, with no API key, plus the MCP server and OpenAPI.

Read-only JSON for what the Scoutfolio website shows to anyone: the plans and prices, the eight report templates and the guides. No sign-in and no API key: send a GET and read the answer.

## Quickstart

The base address is `https://scoutfolio.football/api/v1`. Try it from a terminal:

`curl https://scoutfolio.football/api/v1/plans curl "https://scoutfolio.football/api/v1/search?q=grade+a+player&limit=3"`

Or from a browser or a script on another site: every answer allows cross-origin reads.

`const res = await fetch('https://scoutfolio.football/api/v1/templates'); const { templates } = await res.json();`

## Authentication

None. The API only returns what the public website already shows, so there are no API keys, tokens or accounts to set up, and nothing to keep secret. Accounts, private reports and email addresses are not available through it, with or without a sign-in. Because every call only reads, you can try anything against the live API: it is its own sandbox.

## Endpoints

| Request | Returns |
| --- | --- |
| `GET /api/v1` | The index: the version, the endpoints and these links |
| `GET /api/v1/plans` | Free and Pro: the prices in euro and what each plan includes |
| `GET /api/v1/templates` | The eight ready-made report templates, with a preview picture |
| `GET /api/v1/pages` | The public pages of the website, each with its Markdown address |
| `GET /api/v1/search?q=…&limit=1-10` | Passages from the guides that match a query (2 to 200 characters) |

The full description, with every field, is the OpenAPI 3.1 file at [/openapi.json](https://scoutfolio.football/openapi.json). The scout pages that scouts put online are not in the API: read them on the website, one at a time, at their own address.

### An example answer

`GET /api/v1/plans 200 OK API-Version: 1 Content-Type: application/json { "currency": "EUR", "plans": [ { "id": "free", "name": "Free", "prices": [{ "interval": null, "amount": "0.00", "label": "€0" }], … }, { "id": "pro", "name": "Pro", "prices": [{ "interval": "month", "amount": "4.99", … }, { "interval": "year", "amount": "49.99", … }], … } ], "features": [{ "feature": "New reports", "free": "3 a month", "pro": "Unlimited" }, …], "source": "https://scoutfolio.football/#pricing" }`

## Errors and limits

- Errors are `application/problem+json` (RFC 9457): `400` for a parameter out of range, `404` for an unknown endpoint, `405` for anything but GET, HEAD and OPTIONS, and `429` when you go over the limit.
- The limit is 60 calls a minute per address. Every answer carries `RateLimit-Limit`, `RateLimit-Remaining` and `RateLimit-Reset`; a `429` also carries `Retry-After` in seconds.
- Every call only reads, so it is always safe to retry. Plans, templates, pages and search may be cached for five minutes.
- [/api/health](https://scoutfolio.football/api/health) and [/status](https://scoutfolio.football/status) tell you whether the service is up.

## Versioning and deprecation

- The version is in the path: `/api/v1`. Every answer also says it in the `API-Version` header. The release of the description (`info.version` in the OpenAPI file) follows semantic versioning.
- Within v1 we only add: new endpoints, new fields and new optional parameters. Read the fields you need and ignore the ones you do not know. We never remove or rename a field, change its type or its meaning within v1.
- A breaking change gets a new version at a new path, `/api/v2`, while v1 keeps answering.
- When v1 is going to stop, its answers carry a `Deprecation` header (RFC 9745) and a `Sunset` header (RFC 8594) with the date, at least six months ahead, with a `Link` to this section. The date and what changes are announced here and in the changelog below.

## MCP server for AI agents

The same public content is available as a read-only Model Context Protocol server at `https://scoutfolio.football/mcp` (Streamable HTTP, no sign-in), with tools for the prices, the pages and a search over the guides. Its description is the [MCP Server Card](https://scoutfolio.football/.well-known/mcp/server-card.json).

## Files for machines

- [/openapi.json](https://scoutfolio.football/openapi.json): the OpenAPI 3.1 description of the API
- [/.well-known/api-catalog](https://scoutfolio.football/.well-known/api-catalog): the API catalog (RFC 9727)
- [/llms.txt](https://scoutfolio.football/llms.txt): what Scoutfolio is, for language models
- [/.well-known/ai-catalog.json](https://scoutfolio.football/.well-known/ai-catalog.json) and [the agent skills](https://scoutfolio.football/.well-known/agent-skills/index.json)
- Every public page as Markdown: add `.md` to its address, or ask with `Accept: text/markdown`

## Changelog

- **5 November 2026, v1 (1.0.0).** The public API: plans, templates, pages and search.

## Use and questions

You may use the API in your own tools and agents under our [terms](https://scoutfolio.football/terms). The API does not sign anyone up and does not take payments: people do that themselves on the website. Questions or ideas for the API: [write to us](https://scoutfolio.football/contact).

---

Web page: https://scoutfolio.football/developers  
About Scoutfolio for AI agents: https://scoutfolio.football/llms.txt  
All pages: https://scoutfolio.football/sitemap.xml
