---
title: "Company Registry API - Free Tier | CompanyRegistryAPI.com"
description: "Free company search across official trade registers. Registry facts with their permanent ID and source, plus a free JSON API."
url: "https://companyregistryapi.com"
---

# CompanyRegistryAPI.com

> Free company search across official trade registers. Registry facts with their permanent ID and source, plus a free JSON API.

## What is CompanyRegistryAPI.com?

CompanyRegistryAPI.com provides a company registry API with a free tier for accessing trade register data across multiple countries.

Search, company profiles and current officers as JSON, with the same permanent IDs and field names as the Coragrid API. Start without a key; add one for the full platform and the cgd command line.

## Key features

- **Search by name or business ID**: Type the start of a name or a business ID. Results carry the permanent ID, so you pick the right company once.
- **Registry facts**: Status, legal form, industry and the date the record was last observed at the source.
- **Officers with sources**: Current officers as the register publishes them, each with the publishing system and observation time.
- **Free JSON API**: The same records as JSON with the same field names as the Coragrid public API. No key, a fair rate limit.
- **Permanent identity**: Every company gets an opaque, permanent ID that is independent of registry numbers and database keys. Lifecycle changes preserve the handle.
- **Provenance on every fact**: Facts keep their source system, publication and observation times, so you can tell what the register said and when.
- **Honest about gaps**: Coverage depends on the registers Coragrid has connected and qualified. Unknown, conflicting, restricted and unavailable data stay distinguishable.

## Coverage

- Austria (AT)
- Belgium (BE)
- Bulgaria (BG)
- Canada (CA)
- Croatia (HR)
- Cyprus (CY)
- Czechia (CZ)
- Denmark (DK)
- Estonia (EE)
- France (FR)
- Germany (DE)
- Greece (GR)
- Guernsey (GG)
- Hong Kong (HK)
- Hungary (HU)
- Iceland (IS)
- Ireland (IE)
- Israel (IL)
- Italy (IT)
- Jersey (JE)
- Latvia (LV)
- Malta (MT)
- Monaco (MC)
- Netherlands (NL)
- Norway (NO)
- Poland (PL)
- Romania (RO)
- Singapore (SG)
- Slovakia (SK)
- Slovenia (SI)
- South Korea (KR)
- Spain (ES)
- Sweden (SE)
- Switzerland (CH)
- United Kingdom (GB)

## Free API

- Base URL `https://api.companyregistryapi.com`, no key and no account, 60 requests per minute per client address
- Three read-only endpoints: `/v1/search`, `/v1/companies/{company_id}` and `/v1/companies/{company_id}/officers`
- [API docs](https://companyregistryapi.com/api.md): Base URL, rate limit, parameters, a response sample and problem codes, with cURL, JavaScript, Python and cgd examples
- [OpenAPI document](https://companyregistryapi.com/api/openapi.json): The free API as an OpenAPI 3.2 document
- [Get an API key](https://companyregistryapi.com/api-key.md): What a Coragrid API key adds over the free API and how to request one from Coragrid; this site issues no keys
- Show “Powered by Coragrid” wherever you display the data

## For agents

- [Agent setup](https://companyregistryapi.com/agents.md): Check the API, install the lookup skill and, when the user has a Coragrid API key, connect the cgd CLI
- [Lookup skill](https://companyregistryapi.com/skills/companyregistryapi/SKILL.md): The API contract as an Agent Skill
- [Site overview](https://companyregistryapi.com/llms.txt): This site in the llms.txt format
- [Authentication](https://companyregistryapi.com/auth.md): Which credentials apply where: the API takes none, and this site never asks for a key
- Every page except search results is available as Markdown by appending `.md` to its URL (this page is `https://companyregistryapi.com/index.md`), or by requesting the page URL with `Accept: text/markdown`; a company page's `.md` is a pointer at the record in the free API, and the page sends every client other than a browser there

## Getting started

```bash
# With a Coragrid API key: cgd auth login
cgd --json companies search --query "example robotics" \
  --country FI --limit 5

# An id from the search results
id=<company_id>
cgd --json companies get $id
cgd --json companies officers $id
```

```bash
# No key needed
base=https://api.companyregistryapi.com
curl "$base/v1/search?q=example&country=FI&limit=5"

# An id from the search results
id=<company_id>
curl "$base/v1/companies/$id"
curl "$base/v1/companies/$id/officers"
```

```javascript
const base = "https://api.companyregistryapi.com";

const search = await fetch(
  `${base}/v1/search?q=example&country=FI&limit=5`,
);
const { data } = await search.json();
if (!data.length) throw new Error("No match");

const company = await fetch(
  `${base}/v1/companies/${data[0].id}`,
);
console.log(await company.json());
```

```python
import requests

BASE = "https://api.companyregistryapi.com"
params = {"q": "example", "country": "FI", "limit": 5}

page = requests.get(f"{BASE}/v1/search", params).json()
if not page["data"]:
    raise SystemExit("No match")
company_id = page["data"][0]["id"]

url = f"{BASE}/v1/companies/{company_id}"
print(requests.get(url).json()["data"]["name"])
```

## Resources

- [About](https://companyregistryapi.com/about.md): Where the data comes from, what the site stores about visitors, and the free API terms
- [Support](https://companyregistryapi.com/support.md): How to reach the team for help with the website, the free API or the MCP server
- [Privacy Policy](https://companyregistryapi.com/privacy-policy.md): How CompanyRegistryAPI.com handles personal information on this site
- [Terms of Service](https://companyregistryapi.com/terms-of-service.md): The terms under which the website and the free API are provided
- [Coragrid](https://coragrid.com): The source-linked company data infrastructure behind this site
- [Request API access](https://coragrid.com/request-access): Coragrid issues API keys and their scopes on request

---

*This is a markdown version of [https://companyregistryapi.com](https://companyregistryapi.com) for AI/LLM consumption.*
