---
title: "Autocomplete company names"
method: GET
path: "/company/autocomplete"
tags: ["Companies"]
---

# Autocomplete company names

`GET /company/autocomplete`

## Request

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

Company name suggestions for a search box, best match first. Each suggestion carries the company number, status, type, town, industry, incorporation date and the latest headline figure, so a result can be shown without a second request.

## Query parameters

- `q` string, required
- `limit` integer

## Response `200`

Name suggestions, best match first, each with status, type, town, industry, incorporation date and the latest headline figure

- AutocompleteResult
  - `suggestions` AutocompleteSuggestion[], required
    - `company_number` string, required: 8 characters, e.g. 00445790 or SC586124
    - `company_name` string, required
    - `company_status` string, required: As held on the register, e.g. Active, Dissolved, Liquidation, Active - Proposal to Strike off
    - `company_type` string, nullable: Company category, e.g. Private Limited Company, Public Limited Company, Limited Liability Partnership
    - `postcode` string, nullable
    - `town` string, nullable: Registered office post town
    - `sic_code` string, nullable: First SIC code
    - `sic_description` string
    - `incorporated_on` string, date, nullable
    - `latest_figure` object, nullable: Headline figure from the latest filed accounts we hold: turnover where filed, else net assets; null when neither is held
      - `label` 'turnover' | 'net_assets', required
      - `value` number, nullable, required: The figure, in whole units of the reporting currency (normally GBP pounds, not pence); null when not published
      - `period_end` string, date, nullable, required: Balance sheet date of those accounts

## Other responses

- `401`: API key missing, malformed or revoked
- `403`: The key's plan does not include this endpoint (`code: plan_upgrade_required`, with `upgrade_url`), the key may not call it, or the key is beyond the plan's key limit after a downgrade (`code: key_limit_exceeded`: the newest keys are paused until keys are deleted or the plan upgraded)
- `429`: Per-minute or per-day limit reached (`code: rate_limited`, `window: minute|day`). Wait `Retry-After` seconds; when both windows are full the day is reported. A refused request does not count against either limit. A bulk lookup (`POST /company/bulk`) counts each company number in it as one request, so one that is more than you have left is refused whole, and the body adds `requested` and `fits`.

---

[API](https://skmtc.dev/companystack/apis/companystack-api.md) · [All operations](https://skmtc.dev/companystack/apis/companystack-api/llms.txt) · [OpenAPI document](https://skmtc.dev/companystack/apis/companystack-api/revisions/8f3234237d2d?raw)
