> ## Documentation Index
> Fetch the complete documentation index at: https://docs.syrto.ai/llms.txt
> Use this file to discover all available pages before exploring further.

# Standard endpoints

> The standard package of endpoints on Italian companies: what each one returns and what it costs.

The standard package covers company data, ownership, financials, search and market aggregates on Italian companies. It is enabled for an organization all or nothing: an API provisioned with the standard package serves every endpoint below. Your own [OpenAPI schema](https://docs.syrto.ai/api/openapi.md) remains the authoritative list for your key.

Every endpoint is also available, with synthetic data and nothing billed, in the [sandbox](https://docs.syrto.ai/api/sandbox.md). The full request and response schemas are in the [interactive reference](https://docs.syrto.ai/api/reference/standard-overview.md).

## Endpoints and credits

Prices are in credits; what a credit is worth is set in your contract. `meta.usage` on each response reports what the call consumed. Nothing is billed for an id that did not resolve, a year that is not filed, or an empty page, and errors are never billed.

| Endpoint | Credits |
| - | - |
| [`GET /companies/{id}/overview`](https://docs.syrto.ai/api/reference/standard/company-overview) | 10 |
| [`POST /companies/anagraphic`](https://docs.syrto.ai/api/reference/standard/company-anagraphic) | 10 per record returned |
| [`POST /companies/negativities`](https://docs.syrto.ai/api/reference/standard/company-negativities) | 10 per legal entity returned |
| [`POST /companies/rna`](https://docs.syrto.ai/api/reference/standard/company-rna) | 10 per legal entity returned |
| [`GET /companies/{id}/branches`](https://docs.syrto.ai/api/reference/standard/company-branches) | 5 |
| [`POST /companies/bundle`](https://docs.syrto.ai/api/reference/standard/company-bundle) | 25 per record returned |
| [`POST /companies/structure`](https://docs.syrto.ai/api/reference/standard/company-structure) | 35 per legal entity returned |
| [`GET /companies/{id}/financials`](https://docs.syrto.ai/api/reference/standard/company-financials) | 50, plus 10 with `includeMarketData` |
| [`GET /companies/{id}/reclassified`](https://docs.syrto.ai/api/reference/standard/company-reclassified) | 70 |
| [`GET /companies/{id}/analysis`](https://docs.syrto.ai/api/reference/standard/company-analysis) | 150 including 5 years, plus 30 per further year returned |
| [`GET /companies/{id}/spider`](https://docs.syrto.ai/api/reference/standard/company-spider) | 50 including 1 year, plus 10 per further year returned |
| [`GET /companies/{id}/similar`](https://docs.syrto.ai/api/reference/standard/company-similar) | 150 |
| [`POST /companies/search`](https://docs.syrto.ai/api/reference/standard/company-search) | Per company returned, by search tier: base 3, plus 6, pro 10 |
| [`POST /market/base`](https://docs.syrto.ai/api/reference/standard/market-base) | 150, plus 50 with a breakdown |
| [`POST /market/pro`](https://docs.syrto.ai/api/reference/standard/market-pro) | 750, plus 250 with a breakdown |
| [`GET /metrics`](https://docs.syrto.ai/api/reference/standard/metrics) | Free |

> [!NOTE]
>
> `similar` and the two market endpoints answer `404` when nothing comparable or no filed company is found. That answer is never billed.

## Billing basis

* `negativities`, `rna` and `structure` bill once per legal entity: the individual and consolidated records of the same company count once.
* Every other endpoint bills per record, or per call, so the individual and consolidated records of a company count separately.
* A tax id always resolves to a single record, chosen by `statementBasis` (individual by default). A company is billed twice only when both of its company ids are passed.
* A market call is priced per call, whatever the size of its set. Omitting `filters` and `seedId`, or sending `filters: {}`, aggregates the whole of Italy at the same price. The breakdown add-on is charged once per call.
* The search tier is set by the most advanced filter used, never by the fields returned. Send `maxTier` to set a ceiling: a filter above it fails with `422` before anything runs. `limit` (1-200) caps the page, so `limit x tier price` bounds any search call.

## Conventions

* **Envelope.** Success is `200 { data, meta }`, where `meta` carries `requestId`, `endpoint`, `usage` and `warnings`. `warnings` is always present, empty when there are none. See [errors](https://docs.syrto.ai/api/errors.md) for the failure shape.
* **Company references.** `{id}` and batch `ids` take a company id (the Syrto id of one statement record) or a tax id (an 11-digit partita IVA or a 16-character codice fiscale). A tax id resolves to the record chosen by `statementBasis`.
* **Batches.** Batch endpoints take up to 20 ids and answer `{ items, notFound: [{ position, input, reason }] }`. They use `POST` only because they carry a body; they are read-only and idempotent.
* **Nulls.** Every field is always present. An unknown value is `null`, never `false` or `0`.
* **Units.** `pct` is a fraction (0.15 means 15%), `eur` amounts are in euro, `eur_per_head` is per employee.
* **Language.** `language=it|en` localizes names and labels, never field names or slugs.
* **Years.** The latest filed statement is used unless `year` is given. Forecast years are never returned.
* **Dates.** `financialStatementDate` is on every figure that comes from a statement: the financial year end it is made up to.
* **Search order.** Results are sorted by legal name, A-Z, unless `sortBy` asks for `matchScore` (requires `semanticSearch`) or a metric's value in a year. `direction` defaults to `desc`.
* **Timeouts.** A call past its deadline is `504 upstream_timeout`, never billed, with `Retry-After: 30`. The first call over a large set can be slow; the same call after the delay is usually fast.
* **Rate limits.** See [rate limits](https://docs.syrto.ai/api/rate-limits.md).


This documentation is built and hosted on [Mintlify](https://mintlify.com), a developer documentation platform.