One API. Every active Indian company. Provenance in every response.
REST, JSON, rate-limited per key, credit-metered, OpenAPI 3.1 spec. Keys are issued from the dashboard. Every response carries per-field provenance and the date we last verified the field, so your CRM and your auditors agree.
Endpoints.
MethodPathDescriptionCredits
GET/v1/company/lookupLookup a single company by CIN, GSTIN, IEC, name, or website.1
POST/v1/company/enrichBulk enrich up to 5,000 identifiers in one call.1
GET/v1/company/searchFiltered search across the company graph.1
GET/v1/signalsFilterable signal feed, since timestamp.0.1
GET/v1/trade/profileExport-import profile, HS chapters, destinations.2
GET/v1/trade/eventsTrade events feed (first export, new destination, volume surge).0.5
POST/v1/listsCreate a saved list from a filter.0
GET/v1/lists/:id/exportExport a saved list to CSV or JSON.0
POST/v1/research/company/:idAccount research brief from public data only.10
Rate limits scale with plan. Free: 10 req/min. Growth: 60 req/min. Scale: 600 req/min. Burst handling via 429 + Retry-After.
Auth and rate limits.
- Bearer-token auth, keys prefixed kst_live_ or kst_test_.
- Per-key rate limiting via Redis, sliding-window 60-second buckets.
- Scopes per key: read:company, read:signal, read:trade, write:list.
- Webhooks for new signals matching saved subscriptions (HMAC-signed).
- Postman collection and OpenAPI 3.1 spec downloadable.
# Lookup, single
curl https://api.kestrel.in/v1/company/lookup \
-H "Authorization: Bearer kst_live_..." \
-G --data-urlencode "gstin=27AABCA9821H1Z5"
# Bulk enrich
curl https://api.kestrel.in/v1/company/enrich \
-H "Authorization: Bearer kst_live_..." \
-H "Content-Type: application/json" \
-d '{"identifiers":[{"type":"cin","value":"U..."}, ...]}'
# Filtered search
curl https://api.kestrel.in/v1/company/search \
-H "Authorization: Bearer kst_live_..." \
-G \
--data-urlencode "industry=24230" \
--data-urlencode "state=Telangana" \
--data-urlencode "exporter=true"
# Signals since timestamp
curl https://api.kestrel.in/v1/signals \
-H "Authorization: Bearer kst_live_..." \
-G --data-urlencode "since=2026-05-28T00:00:00Z"