# EU/UK Company Registry Lookup (`fullest_platter/eu-uk-company-registry-lookup`) Actor

Look up companies across France (Sirene) and UK (Companies House) official registries in one unified schema. No login, no scraping, no personal data.

- **URL**: https://apify.com/fullest\_platter/eu-uk-company-registry-lookup.md
- **Developed by:** [Elyas Shukri Elmi](https://apify.com/fullest_platter) (community)
- **Categories:** MCP servers, Developer tools, Lead generation
- **Stats:** 1 total users, 0 monthly users, 0.0% runs succeeded, 0 bookmarks
- **User rating**: No ratings yet

## Pricing

from $0.50 / 1,000 results

This Actor is paid per event. You are not charged for the Apify platform usage, but only a fixed price for specific events.

Learn more: https://docs.apify.com/platform/actors/running/actors-in-store#pay-per-event

## What's an Apify Actor?

Actors are web data automations that power AI and operations. They run on the Apify platform to scrape websites, process data, connect APIs, and automate workflows.
In Batch mode, an Actor accepts a well-defined JSON input, performs an action which can take anything from a few seconds to a few hours,
and optionally produces a well-defined JSON output, datasets with results, or files in key-value store.
In Standby mode, an Actor provides a web server which can be used as a website, API, or an MCP server.
Actors are written with capital "A".

## How to integrate an Actor?

If asked about integration, you help developers integrate Actors into their projects.
You adapt to their stack and deliver integrations that are safe, well-documented, and production-ready.
The best way to integrate Actors is as follows.

- **AI agents and MCP clients** — the [Apify MCP server](https://docs.apify.com/integrations/mcp.md) at `https://mcp.apify.com` (remote, streamable HTTP, OAuth on first use).
- **Agentic workflows and local Actor development** — [Agent Skills](https://apify.com/.well-known/agent-skills/index.json) with the [Apify CLI](https://docs.apify.com/cli/docs.md): `npm install -g apify-cli`, then `apify login`.
- **JavaScript/TypeScript projects** — the official [JS/TS client](https://docs.apify.com/api/client/js/docs.md): `npm install apify-client`.
- **Python projects** — the official [Python client](https://docs.apify.com/api/client/python/docs.md): `pip install apify-client`.
- **Any other language** — the [REST API](https://docs.apify.com/api/v2.md).

For usage examples, see the [API](#api) section below.

For more details, see Apify documentation as [Markdown index](https://docs.apify.com/llms.txt) and [Markdown full-text](https://docs.apify.com/llms-full.txt).

# README

## EU/UK Company Registry Lookup

Searches official company registries by name and returns a unified record: registration number,
status, registered address, incorporation date. Sources:

- **France** — `recherche-entreprises.api.gouv.fr` (the French government's public company
  registry API — Sirene data). Free, no API key, always queried when `jurisdiction` is `ALL` or `FR`.
- **UK** — `api.company-information.service.gov.uk` (Companies House, the UK's official company
  registry). Free, but requires an API key you register yourself at
  [developer.company-information.service.gov.uk](https://developer.company-information.service.gov.uk/).
  Without a key, the UK source is skipped and a warning says so — the run still succeeds with
  France-only results.

### What this does NOT do

- No login, no cookies, no browser automation, no scraping of any login-walled or personal site.
- No personal data about private individuals. Registry records are public company-of-record data
  (company name, registration number, registered address, incorporation date); officer names, when
  present in a registry's public output, are public-record data about a person's role at a company,
  not private personal data.
- Only two jurisdictions today: France and UK. It does **not** cover Germany, Netherlands, Ireland,
  or any other EU state — those either require a paid API or don't expose a comparable free public
  API as of this writing. Do not assume EU-wide coverage.
- Fuzzy/partial name matching quality depends entirely on each registry's own search — this Actor
  does not do its own fuzzy matching or ranking beyond what the source API returns.

### Output

One dataset item per run:

```json
{
  "query": { "companyName": "Danone", "jurisdiction": "ALL" },
  "results": [
    {
      "sourceJurisdiction": "FR",
      "sourceRegistry": "recherche-entreprises.api.gouv.fr",
      "name": "DANONE",
      "registrationNumber": "552032534",
      "status": "active",
      "registeredAddress": "59-61 RUE LA FAYETTE 75009 PARIS",
      "incorporationDate": "2025-08-19",
      "officers": []
    }
  ],
  "warnings": ["UK skipped: no Companies House API key provided."],
  "errors": [],
  "success": true
}
```

`success: false` means every requested jurisdiction failed or was skipped — check `errors` and
`warnings` before trusting an empty `results` array as "no company found."

### Pricing

Pay-per-event, using Apify's two built-in events only: a small per-run start fee
(`apify-actor-start`) plus $0.50 per 1,000 dataset items (`apify-default-dataset-item`). This Actor
pushes exactly one dataset item per run (an object containing all matched companies from every
queried jurisdiction), so in practice this is a flat per-run price, not a per-result or
per-jurisdiction price — see the Actor's Store listing for the current exact amounts.

**Corrected 2026-07-28:** an earlier version of this code also called a custom charge event per
jurisdiction queried (`fr-registry-queried`, `uk-registry-queried`). Those events were never
registered in the monetization setup, so Apify silently ignored them — they charged nothing. Rather
than register them now (which would add an undisclosed price increase on top of what was shown to
users at publish time), the dead calls were removed so the code matches the price actually charged.

# Actor input Schema

## `companyName` (type: `string`):

Name or partial name of the company to search for.

## `jurisdiction` (type: `string`):

Which registry to query. ALL queries both.

## `companiesHouseApiKey` (type: `string`):

Free key from https://developer.company-information.service.gov.uk/. Without it, the UK registry is skipped and only France results are returned.

## Actor input object example

```json
{
  "jurisdiction": "ALL"
}
```

# API

You can run this Actor programmatically using our API. Below are code examples in JavaScript, Python, and CLI, as well as the OpenAPI specification and MCP server setup.

## JavaScript example

```javascript
import { ApifyClient } from 'apify-client';

// Initialize the ApifyClient with your Apify API token
// Replace the '<YOUR_API_TOKEN>' with your token
const client = new ApifyClient({
    token: '<YOUR_API_TOKEN>',
});

// Prepare Actor input
const input = {};

// Run the Actor and wait for it to finish
const run = await client.actor("fullest_platter/eu-uk-company-registry-lookup").call(input);

// Fetch and print Actor results from the run's dataset (if any)
console.log('Results from dataset');
console.log(`💾 Check your data here: https://console.apify.com/storage/datasets/${run.defaultDatasetId}`);
const { items } = await client.dataset(run.defaultDatasetId).listItems();
items.forEach((item) => {
    console.dir(item);
});

// 📚 Want to learn more 📖? Go to → https://docs.apify.com/api/client/js/docs

```

## Python example

```python
from apify_client import ApifyClient

# Initialize the ApifyClient with your Apify API token
# Replace '<YOUR_API_TOKEN>' with your token.
client = ApifyClient("<YOUR_API_TOKEN>")

# Prepare the Actor input
run_input = {}

# Run the Actor and wait for it to finish
run = client.actor("fullest_platter/eu-uk-company-registry-lookup").call(run_input=run_input)

# Fetch and print Actor results from the run's dataset (if there are any)
print(f"💾 Check your data here: https://console.apify.com/storage/datasets/{run.default_dataset_id}")
for item in client.dataset(run.default_dataset_id).iterate_items():
    print(item)

# 📚 Want to learn more 📖? Go to → https://docs.apify.com/api/client/python/docs/quick-start

```

## CLI example

```bash
echo '{}' |
apify call fullest_platter/eu-uk-company-registry-lookup --silent --output-dataset

```

## MCP server setup

```json
{
    "mcpServers": {
        "apify": {
            "type": "http",
            "url": "https://mcp.apify.com/?tools=fetch-actor-details,fullest_platter/eu-uk-company-registry-lookup"
        }
    }
}

```

The hosted server signs you in with OAuth on first connect, so no API token belongs in this config. Clients without OAuth support can send an `Authorization: Bearer <APIFY_API_TOKEN>` header instead, using a token from API & Integrations in Apify Console (https://console.apify.com/settings/integrations).

## OpenAPI specification

Download the OpenAPI definition: https://api.apify.com/v2/actors/IKC6a8jIzWgFSJ0Z2/builds/9HfHLFctuac2B7zii/openapi.json
