Skip to main content
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 remains the authoritative list for your key. Every endpoint is also available, with synthetic data and nothing billed, in the sandbox. The full request and response schemas are in the interactive reference.

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.
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 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.