Companies

Search companies

Full-text search across about 6 million UK companies. Give at least one of q, status, sic, postcode or town; filters combine with AND.

Free plan: only the first page is available. At most 10 results are returned and offset is not applied (the response reports offset: 0), so a loop that pages until it gets an empty page never ends: stop when a page holds fewer results than limit, or when paging_limited is true. When the plan limits paging, the response carries paging_limited: true, the ignored requested_offset, a plain-sentence notice and an upgrade_url. Paid plans return up to 100 results per page and page with offset.

get/company/search

Request

  • Base URL: https://api.companystack.co.uk
  • URL: https://api.companystack.co.uk/company/search
  • Auth: one of:
    • HTTP bearer
    • API key in header X-Api-Key

Query parameters

qstring

Words in the company name (full-text, ranked by relevance)

statusstring

Company status, case-insensitive substring (e.g. active, dissolved)

sicstring

Exact SIC code, matched against any of the company's four

postcodestring

Registered office postcode area (B, SW), district (M1, SW1A; EC2 includes EC2A to EC2Y), sector (M1 1) or postcode (M1 1AE). "B" is Birmingham only, not BA to BT; anything else is a 400.

townstring

Registered office post town, case-insensitive substring

limitinteger
offsetinteger

Results to skip, for paging. Paid plans only: on the Free plan offset is not applied and the first page is always returned.

incorporated_fromstring date

Incorporated on or after this date (YYYY-MM-DD). Without q, a date range lists the newest companies first. A range that reaches into the last 30 days (or has no incorporated_to) is the New Companies feed: it needs API Starter or above (Free gets 403 plan_upgrade_required); a range ending 31 or more days ago works on every plan.

incorporated_tostring date

Incorporated on or before this date (YYYY-MM-DD). On the Free plan it must be 31 or more days ago (see incorporated_from).

Response

Search results with total count

totalinteger required

Matching companies (capped for very broad filters; see total_capped)

total_cappedboolean
limitinteger required

Results per page as applied (at most 10 on the Free plan)

offsetinteger required

The offset applied. Always 0 on the Free plan, which returns only the first page whatever offset was requested

paging_limitedboolean

Present (true) when the plan returns only the first results: more matches exist than were returned, or the offset asked for was ignored

requested_offsetinteger

The offset that was asked for and ignored (with paging_limited)

noticestring

A plain sentence explaining the paging limit (with paging_limited)

upgrade_urlstring uri

Where to lift the paging limit (with paging_limited)

querystring

Example response

{
  "results": [
    {
      "registrar_default_address": {
        "statement": "Registered office removed by Companies House: the company is at the registrar's default address"
      },
      "entity_kind": "llp",
      "people_term": {
        "one": "member",
        "many": "members"
      },
      "limited_partnership": {
        "general_partners": 1,
        "limited_partners": 14
      }
    }
  ]
}

Changes

No recorded changes to this operation across all 1 revision of this API.