Selectable columns
Default forPOST …/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 issummary_keywords, where an organization must have all listed keywords.
Example: organizations in Bayern or in the manufacturing sector, limited to Germany:
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 fishingNACE B: Mining and quarryingNACE C: ManufacturingNACE D: Electricity, gas, steam and air conditioning supplyNACE E: Water supply; sewerage, waste management and remediation activitiesNACE F: ConstructionNACE G: Wholesale and retail tradeNACE H: Transportation and storageNACE I: Accommodation and food service activitiesNACE J: Publishing, broadcasting, and content production and distribution activitiesNACE K: Telecommunication, computer programming, consulting, computing infrastructure and other information service activitiesNACE L: Financial and insurance activitiesNACE M: Real estate activitiesNACE N: Professional, scientific and technical activitiesNACE O: Administrative and support service activitiesNACE P: Public administration and defence; compulsory social securityNACE Q: EducationNACE R: Human health and social work activitiesNACE S: Arts, sports and recreationNACE T: Other service activitiesNACE U: Activities of households as employers and undifferentiated goods- and service-producing activities of households for own useNACE V: Activities of extraterritorial organisations and bodies
Rate limits and tiers
Every key has an API tier. New keys gettier_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 below400) 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-Resetis the number of seconds until the quota resets at the end of the month.- On routes without a limit,
X-RateLimit-Requests-Limitisunlimited.
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 nocodefield.
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 a429 (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.