Reference

API and contract changelog

Route, limit, and usage-policy changes that affect public integrations.

2026-08-20 public surface

The public API is now three datasets and nothing else: people, jobs, and companies. Each is searched with a Query Spec tree and read through its own detail route, and the system routes report version and key status. Everything documented today is on the API reference.

Area
Datasets
Change
People, jobs, and companies. Anything outside those three is withdrawn and undocumented
Area
Structured search
Change
The Query Spec tree replaced the earlier flat filter parameters on every dataset
Area
Paging
Change
Search responses carry a next cursor; pass it back as after
Area
Detail batches
Change
Entity detail accepts up to 100 IDs per request
Area
Search window
Change
Search returns up to 1000 IDs per page
Area
Contact enrichment
Change
Announced, not open. No endpoint, request shape, or price is published
Area
Skills
Change
Four published skills, one per dataset plus a coordinator

Withdrawn routes

A route that is not documented on the API reference is not part of the public surface. Withdrawn routes are not listed here by name and have no replacement mapping: rewrite the call against the dataset page you need. The historical /docs/api/update-log URL still redirects here so existing bookmarks resolve.

Query Spec is the structured interface

One grammar covers all three datasets, so what changes between them is the field list rather than the request shape. The full grammar, including composition, operators, relative dates, same-record scopes, and cursor paging, is on the Query Spec page.

  • Composers all, any, and not compose leaves into a boolean tree.
  • Operators are eq, in, match, gte, lte, and exists, one per leaf.
  • Date fields accept relative values such as now-30d, resolved server-side.
  • People carry same-record scopes; jobs and companies are one document each and carry none.
  • A refused query is translated before it is charged, so it costs nothing.

Usage contract

  • Query Spec search on any dataset settles by returned ID count: ceil(returned IDs / 25).
  • Natural-language people search adds a 5 Credit base to that.
  • Profile, job, and company detail settle by found record count: ceil(found records / 5).
  • Paging spends per page, so 1000 IDs cost the same in one page as in four.
  • Credit balances use additive active buckets with nearest-expiry-first spend order.

Integration checklist

  • Treat every search response as IDs, and fetch records through the detail route.
  • Keep one operator per leaf, and split a bounded range into two leaves.
  • Keep detail batches at 100 IDs or fewer.
  • Stop paging when next is absent rather than when a page comes back short.
  • Do not treat browser billing redirects as a Credit grant.