Business Entity Search API — SEC, Companies House & ABN (KYB)
Pricing
$3.00 / 1,000 results
Business Entity Search API — SEC, Companies House & ABN (KYB)
Look up official company records across US SEC EDGAR, UK Companies House and the Australian Business Register in one call. Name, identifier, status, type and registered address as clean JSON for KYB, onboarding and due-diligence. Official registry APIs only. Batch lookups, per-source diagnostics.
Pricing
$3.00 / 1,000 results
Rating
0.0
(0)
Developer
Nick
Maintained by CommunityActor stats
0
Bookmarked
2
Total users
1
Monthly active users
3 days ago
Last modified
Categories
Share
Look up official company records across three national registries — US SEC EDGAR, UK Companies House and the Australian Business Register — from a single input. Clean, normalized JSON straight from government sources: no scraped pages, no resold databases, no cookies, no logins.
What does this Actor do?
You give it a company name (or a batch of names) and it queries each selected registry's own public API, then flattens every result into one identical record shape. A UK company, a US SEC filer and an Australian ABN holder come back as the same ten fields, so you can put them in one table without writing a mapper per country.
The part that is usually painful is that the three registries disagree about almost everything. SEC
EDGAR indexes filers by CIK and publishes no status field on its name index; Companies House uses an
eight-character company number and a rich status vocabulary; the ABR uses an 11-digit ABN with a
checksum. This Actor handles each on its own terms — the ABN is checksum-validated locally before a
lookup is attempted, so an invalid number fails fast instead of burning a request — and the
identifierType input exists precisely because a bare number is ambiguous between a CIK and a UK
company number.
The second design decision worth knowing: a failing registry never fails your run. If one source
is down, rate-limited or unconfigured, the other sources still return their rows and the failure is
recorded as a structured diagnostic in the RUN_SUMMARY key-value record — never as a junk row in
your paid results.
Who is it for?
- KYB and onboarding teams verifying that a counterparty legally exists before transacting.
- Compliance and due-diligence analysts who need the registry's own answer, not a data vendor's copy of it.
- Sales and RevOps teams grounding CRM company records against an authoritative identifier instead of inferring identity from a social profile.
- Developers who want one schema for three countries rather than three API integrations.
- AI agent builders who need a company-identity tool with a stable, described output shape.
Use cases
- Confirm a supplier's legal name, registration number and status before approving them as a vendor.
- Resolve a messy CRM company name to an official identifier (CIK, company number or ABN) you can key on afterwards.
- Screen a batch of prospects in one run by passing
queries, and keep the originating query on every row so results stay attributable. - Pull a single company's full record by identifier in
detailmode to refresh status and address. - Give an agent a tool that answers "does this company exist, and what is its official identifier?" from the registry rather than from training data.
What you get
One row per matching entity, per registry. Any value the source does not publish is null — the
field is always present.
| Field | Type | Description |
|---|---|---|
query | string | The name or identifier that produced this row, so batch results stay attributable |
name | string | Registered legal name as the registry publishes it |
jurisdiction | string | us-sec, uk or au |
identifier | string | CIK (US), company number (UK) or ABN (AU) |
status | string | Registration status where the source publishes it — see the coverage notes below |
type | string | Entity or company type as the registry classifies it |
address | object | Registry address, shape varies by source (see below); null where not published |
registryUrl | string | Direct link to the record on the registry's own site |
source | string | SEC EDGAR, Companies House or ABN Lookup |
retrievedAt | string | ISO 8601 timestamp of when this row was fetched |
address is an object, not a string, and its keys differ by source: Companies House returns
{ locality, region, postcode, country }, while SEC EDGAR detail and ABN Lookup return
{ state, postcode }.
Sample output record
A search-mode result from SEC EDGAR:
{"query": "Tesla","name": "Tesla, Inc.","jurisdiction": "us-sec","identifier": "1318605","status": null,"type": "SEC-registered filer","address": null,"registryUrl": "https://www.sec.gov/edgar/browse/?CIK=1318605","source": "SEC EDGAR","retrievedAt": "2026-08-22T14:37:02.461Z"}
A detail-mode result for the same company fills in status (SEC entity type), type (the SIC
description) and address.
How to use it
Search by name across registries
{"query": "Tesla","jurisdictions": ["us-sec", "uk"],"maxResults": 5,"mode": "search"}
Batch several names in one run
Provide queries instead of query. When queries is present it replaces query entirely, and
every output record carries the query that produced it.
{"queries": ["Tesla", "BHP", "Unilever"],"jurisdictions": ["us-sec", "uk", "au"],"maxResults": 5,"mode": "search"}
Fetch one company's full record by identifier
Switch to detail mode and pass the identifier. Set identifierType to disambiguate — a bare
number could be a CIK or a UK company number, and auto uses conservative format detection that
will decline rather than guess wrong.
{"query": "0000320193","identifierType": "cik","mode": "detail"}
Input parameters
| Input | Type | Description |
|---|---|---|
query | string | A company name for search mode, or a jurisdiction-specific identifier for detail mode |
queries | array | Optional batch. When provided, this list is used instead of query |
jurisdictions | array | Which registries to query: us-sec, uk, au. Default: all three |
maxResults | integer | Maximum records returned per registry (1–100). Default: 10 |
mode | string | search finds companies by name; detail fetches one record by identifier. Default: search |
identifierType | string | cik, uk-company-number, abn or auto. Disambiguates numeric identifiers in detail mode. Default: auto |
You must supply either query or a non-empty queries array; the run fails with a clear error if
neither is present.
Coverage, honestly stated
- us-sec covers SEC-registered filers — public companies and other entities that file with
the SEC. It is not a register of every US private LLC, and no such single national register
exists. In
searchmode the SEC name index publishes no status or address, so those fields come backnull; usedetailmode to fill them. - uk covers the full Companies House register.
- au covers Australian Business Register ABN records.
- Credentials: SEC EDGAR needs none. Companies House and ABN Lookup require API credentials
configured on the Actor. If one is unavailable, that source contributes an
UNCONFIGUREDdiagnostic toRUN_SUMMARYand the run continues with the remaining registries rather than failing. - Name search is name search. A common name returns several candidates;
maxResultscaps them per registry. Confirm the match with theidentifierandregistryUrlbefore acting on it.
Reliability
Official registry APIs only, with respectful rate limits and structured error codes. Per-source
diagnostics are written to the RUN_SUMMARY key-value record — successes with their result counts,
failures with a reasonCode and message — and never into your dataset.
Every record carries retrievedAt and a registryUrl back to the official source, so you can check
any row against the publisher yourself.
Maintained against the upstream APIs. If a registry changes its schema or an endpoint moves, report it through the Issues tab and it gets fixed.
Integrations
Connect this Actor to Make, Zapier, n8n, Slack, Google Sheets, Airtable or any HTTP endpoint through Apify integrations. Every finished run can push its dataset onward or fire a webhook so a downstream job starts the moment the data lands. Datasets export as JSON, CSV, Excel, XML, RSS or HTML.
API usage
Run the Actor from your own code with the Apify API:
curl -X POST "https://api.apify.com/v2/acts/oneshotventure~entity-search/runs?token=YOUR_TOKEN" \-H "Content-Type: application/json" \-d '{"query": "Tesla", "jurisdictions": ["us-sec", "uk"], "maxResults": 5, "mode": "search"}'
Python, JavaScript, PHP and CLI clients are documented under Apify API clients.
Use with AI agents (MCP)
This Actor is callable from any MCP-compatible client — Claude, Cursor, VS Code or your own agent — through the Apify MCP server. The input schema is fully described and every record uses one stable, flat JSON shape, so an agent can call it and read the result without a parsing step. Because it reads official government registry APIs rather than a rendered page, the answer an agent gets is the same one the source publishes.
A useful agent pattern: resolve a company name to its official identifier here, then pass that identifier to SEC EDGAR Filings Monitor to watch what it files.
Frequently asked questions
Is there a free company registry API?
The underlying registries are public: SEC EDGAR is open, Companies House and the ABR publish APIs to registered users. This Actor is the normalization layer over all three — one input, one output schema, no per-country integration work.
How do I verify a company exists across US, UK and Australian registries?
Run it in search mode with all three jurisdictions selected. Each registry that has a match returns
a row with its own identifier and a registryUrl you can open to confirm.
What is KYB, and what does this give me for it?
Know Your Business is the counterparty equivalent of KYC: confirming a business is real, currently registered, and is who it claims to be before you transact. This Actor supplies the registry-of-record half of that — legal name, official identifier, status, type and registered address. It does not perform sanctions screening or beneficial-ownership resolution.
Does this cover US private LLCs?
No. us-sec is SEC-registered filers only. US private companies are registered at state level with
50 separate Secretaries of State, which this Actor does not query.
Do I need a Companies House API key?
Not as a user of this Actor — credentials are configured on the Actor itself. If a registry's
credentials are unavailable at run time, you get the other registries plus an UNCONFIGURED
diagnostic in RUN_SUMMARY rather than a failed run.
Why is status empty for my SEC result?
Because you are in search mode. The SEC's public company-name index does not carry a status field.
Re-run in detail mode with the CIK to get the SEC entity type, SIC description and address.
Can I look up many companies at once?
Yes. Pass queries as an array. Each result records the query that produced it, so you can join
the output back to your input list.
Is this data legal to use?
It is public record data published by government registries for exactly this purpose. How you use it remains your responsibility — where a record contains personal data, GDPR and comparable laws still apply and you need a lawful basis for processing it.
Related actors
- SEC EDGAR Filings Monitor — new 10-K, 10-Q, 8-K and Form 4 filings for a watchlist of tickers or CIKs.
- CourtListener RECAP Docket Watch — new federal court cases and bankruptcy filings by party name.
- SAM.gov Contract Opportunities & Awards Feed — US federal contract opportunities and awards.
Disclaimer
Unofficial independent tool. Not affiliated with or endorsed by the SEC, Companies House, or the Australian Business Register. Data is retrieved from their official public sources.