Data API

26,097 verified boutique firms, one REST call away

Search, single-record lookup, domain enrichment and an append-only changes feed over the full 18-city dataset. JSON over HTTPS, bearer-key auth, keyset pagination.

Authentication

Every request carries a key we issue by hand:

Authorization: Bearer fs_live_your_key

Keys are metered per day (2,000 requests by default, raised on request) and scoped to one of two tiers: firmographics (every firm field except contacts) or contacts (adds named contact, role, provenance label, direct inbox and contact LinkedIn, and unredacted change diffs).

Endpoints

GET /api/v1/firms

Search firm records. Filters: city, vertical, headcount_band, q (name or description), updated_since. Paginate with limit (max 500) and offset; count is exact.

curl -H "Authorization: Bearer fs_live_..." \
  "https://firmscope.co/api/v1/firms?city=London&vertical=venture_capital&limit=100"

GET /api/v1/firms/{slug}

One firm by its canonical slug, the stable join key across the whole dataset and the changes feed.

curl -H "Authorization: Bearer fs_live_..." \
  "https://firmscope.co/api/v1/firms/some-firm-slug"

GET /api/v1/enrich?domain=

Match a company domain (from an email address, a CRM row) to firm records. Protocol, www and paths are normalised away; subdomains match.

curl -H "Authorization: Bearer fs_live_..." \
  "https://firmscope.co/api/v1/enrich?domain=examplepartners.com"

GET /api/v1/changes?since=

Append-only delta feed: created, updated (per-column old and new values), deleted (full snapshot) and hiring_signal (a careers marker appeared on the firm site, detected by our rolling crawl) events, keyset-paginated via after and next_cursor. History accrues from 27 August 2026; the feed is how a licensed copy stays current without re-pulling the dataset.

curl -H "Authorization: Bearer fs_live_..." \
  "https://firmscope.co/api/v1/changes?since=2026-08-27T00:00:00Z&limit=500"

Responses. List endpoints return { data, count, limit, offset }; the changes feed returns { data, limit, next_cursor } - page until next_cursor is null. Errors are { error: { status, message } } with conventional status codes (401 bad key, 429 over quota, 400 bad parameters).

Coverage. The API serves live cities only, the same records the product serves. Firms are hand-verified before listing, dead sites are swept on a rolling basis, and removals arrive in the changes feed as deletion events with a full final snapshot - see the methodology page.

Pricing. API access is licensed monthly: from £250 a month for firmographics, from £750 a month including contacts and the changes feed. Annual bulk licences (CSV or Parquet, from £6,000 a year) are on the data licensing page; API access is included with every bulk licence.

Get an API key

Tell us the use case and the segments you care about and we will come back within one working day, usually with an evaluation key so you can test against the real dataset before committing.

Or email hello@firmscope.co