# Find a company

> Search official registers by name or number and resolve a company to the entity behind it.

Canonical: https://corpoapi.com/solutions/company-search

## From a name to a company number

Search is where every other endpoint starts. Give it a name or a registration number and it returns ranked candidates with their company numbers, status and jurisdiction. A number resolves exactly. A name is matched on a normalised form, so accents, punctuation and small misspellings do not stop a match.

## What a result contains

Each result carries the identifier you need to go further:

- `jurisdiction` and `company_number`, the exact key for the profile, officers and verify endpoints
- `legal_name`, as the register writes it
- `status`, so a dissolved entity is visible before you act on it
- `match.type`, which says whether the hit came from the identifier or from the name

## A worked example

Search a Swedish register for "Klarna":

```bash
curl "https://api.corpoapi.com/v1/search?q=Klarna&jurisdiction=se&limit=5"
```

One of the results returned, captured from our own end-to-end run on 15 October 2026:

```json
{
  "jurisdiction": "se",
  "company_number": "7720001457",
  "company_number_scheme": "SE-ORGNR",
  "legal_name": "Nordic Build Supply AB",
  "status": "dissolved",
  "address": { "line1": "Box 32", "city": "ARVIKA", "postcode": "67101", "country": "SE" },
  "match": { "type": "name_prefix", "identifier": null }
}
```

The same call reported `total_estimate` of 134 and `has_more` true, with a cursor for the next page. The exact same run also confirmed an identifier search: passing the number `5560295197` returns that company first with `match.type` of `id`.

## Free, so resolving a name never costs a call

Search is free on every plan and is never billed. Use it to turn a messy name into a company number, then fetch the profile or run verify against the number you found. An ambiguous result, where several companies match closely, is returned with the candidates and is also free.

## Search by name or by number

Users, spreadsheets and forms give you messy names. Search resolves them against the official register and returns ranked candidates with the company number each one carries.

- Accent-aware fuzzy name search
- Exact lookup by registry number
- One request shape across registers

## Everything downstream needs the number

Once you have the company number, the profile, officers and verify endpoints all resolve exactly. Search is free, so resolving a name never costs you a call.

- Free on every plan
- Ambiguous results returned for free
- Feeds profile, officers and verify

## FAQ

### Can I search across all registers at once?

Search is scoped to a jurisdiction, because company numbers are register-specific. Pass one jurisdiction for an exact match count, or several comma-separated to search across them.

### What happens with a common name?

You get the top candidates ranked by similarity and the call is free. Pick the right one and resolve it by number for an exact match.

### Why scope the search to one country?

A bounded dataset keeps the ranking predictable and the response fast. The company number is the key either way, and it only means something inside its own register.
