Developers · the same register, from code
Developers
Everything on the site is also a JSON API, an MCP server for AI agents, and signed webhooks.
Getting started
- No sign-up to read: search, company records, filings, people and charts are open, within the free limits.
- Paid actions (questions past the free ones, PDFs past the free ones, document packs, exports) spend credits. Send your wallet key in
X-Wallet-Key; MCP tools takewallet_key. - Your wallet key: make one below (this browser's wallet), or buy credits on Credits first.
Worked example: find a company
curl "https://ltdfacts.co.uk/api/companies?query=codeberry"
{
"companies": [
{
"company_number": "09578908",
"name": "CODEBERRY LIMITED",
"status": "Active",
"category": "Private Limited Company",
"incorporated_on": "2015-05-07",
"postcode_as_filed": "WC2H 9JQ",
"sic_codes": ["62012"],
"url": "https://ltdfacts.co.uk/company/09578908"
}
],
"page": 1,
"has_more": true
}
The same through MCP
POST https://ltdfacts.co.uk/mcp
{"jsonrpc": "2.0", "id": 1, "method": "tools/call",
"params": {"name": "get_company", "arguments": {"company_number": "09578908"}}}
{"result": {"content": [{"type": "text", "text":
"{\"company_number\":\"09578908\",\"name\":\"CODEBERRY LIMITED\",\"status\":\"Active\", …}"}]}}
API
| What | Call |
|---|---|
| Search companies (names only) | GET /api/companies?query=&sic=&status=&postcode_as_filed= |
| Suggest as you type | GET /api/suggest?q= |
| A company | GET /api/companies/{number} |
| Its filings | GET /api/companies/{number}/filings |
| A filed PDF | GET /api/documents/{id} |
| Officers and owners | GET /api/companies/{number}/people |
| Find a director | GET /api/officers?query=, GET /api/officers/{id} |
| Warning signs | GET /api/companies/{number}/checks |
| Ask a question | POST /api/ask {"question", "company_number"} |
| Chart data | GET /api/charts?figure=&companies=&from=&to= |
| Watch a company | POST /api/watches {"email", "company_number", "webhook_url"} |
| Document pack (1 credit a PDF) | GET /api/companies/{number}/pack?years=5 |
| Export a search (5 credits) | GET /api/export?sic=62020 |
| Credits: packs, buy, balance | GET /api/credits/packs, POST /api/credits/checkout, GET /api/credits |
| Plans | GET /api/plans, POST /api/plans/checkout, POST /api/plans/portal |
| Wallet on a new device | POST /api/credits/link {"email"} (emails a one-time link) |
MCP
Server: https://ltdfacts.co.uk/mcp (streamable HTTP). Tools:
- find_companies, get_company, get_filings, get_checks, get_company_people, find_officers, get_officer
- ask_question, get_chart_data, watch_company, get_watch, stop_watch
- buy_credits, get_credits, export_companies, document_pack_link, send_credits_link
- list_plans, subscribe_plan, manage_plan, send_privacy_request
- get_company_place, find_company_place, link_company_place (Google listing, your own Google key; where switched on)
Webhooks
- Wallet (set below):
credits.purchased,credits.spent,credits.low,plan.started,plan.changed,plan.renewed,plan.cancelled. - Watches (
webhook_urlwhen you watch a company):watch.changed,place.linked. - Signed:
X-LtdFacts-Signature: t={unix},v1={hex}, where v1 is HMAC-SHA256 of"{t}.{body}"with your secret.
Your key and webhook
This browser has no wallet yet. Buy credits, or use credits you already have, then come back.