Skip to main content

Selectable columns

Default for POST …/v2/search and POST …/v2/fetch: ["domain", "name", "country"]. Request a subset via columns. domain is always included in each row. Unknown column names return 422. Allowed column names: Never returned: raw long text used only for indexing, embedding vectors, and internal flags such as has_embedding.

Commercial-register coverage

Register fields (company_register_*, registries) are populated for organizations in Germany, Austria, Switzerland, France, the United Kingdom, and Spain, for entries appearing in the commercial register from January 2026 onwards. Other organizations have null register fields.

Filters object

All keys are optional. Different fields combine with AND. For most list fields, multiple values mean “match any of these values” (OR inside the field). The exception is summary_keywords, where an organization must have all listed keywords. Example: organizations in Bayern or in the manufacturing sector, limited to Germany:
Use GET …/v2/filters/options for the live list of values your key may actually use.

NACE values

nace_code matches the full section string exactly. A bare letter (C) or a detailed code (62.01) returns no results.
  • NACE A: Agriculture, forestry and fishing
  • NACE B: Mining and quarrying
  • NACE C: Manufacturing
  • NACE D: Electricity, gas, steam and air conditioning supply
  • NACE E: Water supply; sewerage, waste management and remediation activities
  • NACE F: Construction
  • NACE G: Wholesale and retail trade
  • NACE H: Transportation and storage
  • NACE I: Accommodation and food service activities
  • NACE J: Publishing, broadcasting, and content production and distribution activities
  • NACE K: Telecommunication, computer programming, consulting, computing infrastructure and other information service activities
  • NACE L: Financial and insurance activities
  • NACE M: Real estate activities
  • NACE N: Professional, scientific and technical activities
  • NACE O: Administrative and support service activities
  • NACE P: Public administration and defence; compulsory social security
  • NACE Q: Education
  • NACE R: Human health and social work activities
  • NACE S: Arts, sports and recreation
  • NACE T: Other service activities
  • NACE U: Activities of households as employers and undifferentiated goods- and service-producing activities of households for own use
  • NACE V: Activities of extraterritorial organisations and bodies

Rate limits and tiers

Every key has an API tier. New keys get tier_1. tier_2 is assigned by ISTARI on request: contact support@istari.ai.

Monthly quotas

Quotas are per key, per route, per calendar month. They reset at the start of each month (UTC), and only successful responses (status below 400) count. Results are organization rows returned.

Throughput

The gateway also throttles each key: A per-IP safety limit of 60 requests/minute also applies on all GOI endpoints. It is enforced by the load balancer in front of the API, separately from the per-key throttle above.

Rate-limit headers

Responses include your remaining monthly budget for the route. Example values:
  • X-RateLimit-Reset is the number of seconds until the quota resets at the end of the month.
  • On routes without a limit, X-RateLimit-Requests-Limit is unlimited.
When a monthly quota is used up, the API returns 429 Too Many Requests with a Retry-After header (seconds) and the code RATE_LIMITED_REQUESTS or RATE_LIMITED_RESULTS. If a route isn’t available on your tier at all, the API returns 403 with ROUTE_BLOCKED.

HTTP errors

Error bodies come in two shapes:
  • Authentication, rate-limit, and location errors: {"error": "...", "code": "..."}.
  • Validation errors (422): {"detail": [...]}, one entry per invalid field, or {"detail": "message"} (for example, an unknown column). They have no code field.

Errors from the load balancer

The per-IP safety limit and a web application firewall sit in front of the API. When they reject a request, you get a 429 (more than 60 requests/minute from your IP) or a 403 (request content blocked by the firewall) without a JSON code field and without X-RateLimit-* headers. A 429 or 403 with no code means: slow down, or check the request content. It is not a monthly quota issue.