# Ireland Company Registry Scraper - CRO (`regdata/ireland-cro-company-scraper`) Actor

Search the official Irish company register (CRO) by name or number. Returns registered name, CRO number, type, status, incorporation date, registered address and email. No API key.

- **URL**: https://apify.com/regdata/ireland-cro-company-scraper.md
- **Developed by:** [getregdata](https://apify.com/regdata) (community)
- **Categories:** Agents, Lead generation, Automation
- **Stats:** 2 total users, 1 monthly users, 86.7% runs succeeded, 0 bookmarks
- **User rating**: No ratings yet

## Pricing

from $24.00 / 1,000 company searches

This Actor is paid per event. You are not charged for the Apify platform usage, but only a fixed price for specific events.
Since this Actor supports Apify Store discounts, the price gets lower the higher subscription plan you have.

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

## Ireland Company Registry Scraper - CRO

Look up Irish companies in the official **CRO** (Companies Registration Office) register via its
CORE system.

Search by company name or CRO number and get the registered name, CRO number, company type, status,
**incorporation date, full registered address, registered email and annual-return-due date** as
structured JSON — the identity, standing and contact record for verifying an Irish counterparty.

No API key.

### What you get per company

| Field | Example |
|---|---|
| `companyName` | `RYANAIR DESIGNATED ACTIVITY COMPANY` |
| `companyNumber` | `104547` |
| `companyType` | `DAC - Designated Activity Company` |
| `status` / `statusEffectiveDate` | `Normal` / `1984-11-28` |
| `incorporationDate` | `1984-11-28` |
| `registeredAddress` | `RYANAIR DUBLIN OFFICE, AIRSIDE BUSINESS PARK, SWORDS CO. DUBLIN, Ireland` |
| `addressCity` / `addressPostcode` / `addressCountry` | `SWORDS` / `D02 DT85` / `Ireland` |
| `registeredEmail` | `info@ryanair.com` (when present) |
| `annualReturnDueDate` | `2026-10-09` |
| `jurisdiction`, `source`, `sourceUrl`, `retrievedAt` | provenance for every row |

### What this is good for

- **KYB / onboarding** - confirm an Irish company exists, its type, and that it is in `Normal`
  standing (not `Dissolved`, `Liquidation` or `Receivership`) before contracting.
- **Ireland is a major EU corporate, holding and multinational-HQ domicile** - a huge share of tech,
  pharma and finance groups have Irish entities; this verifies them against the official source.
- **Enrichment** - registered address and email in one call.
- **Compliance signal** - the annual-return-due date flags entities that may be late filing.

### What the register does NOT contain here

Stated plainly:

- **No directors, shareholders or beneficial owners.**
- **No filed documents / accounts.**

CRO releases those as **paid documents**. This actor returns the public company record and invents
nothing. For directors or ownership, this is a **verification and enrichment** tool, not a full
ownership profile.

### One number, more than one entity

Irish companies and **business names** are numbered in separate sequences, so the same number can
belong to two different entities: `104547` is both `RYANAIR DESIGNATED ACTIVITY COMPANY` (a DAC
company) and `HOMECARE & INDUSTRIAL CLEANING` (a business name). A number lookup returns both, with
`companyType` telling them apart — that is correct, not duplication.

### Input

| Field | Type | Default | Description |
|---|---|---|---|
| `companyNames` | array | - | Company names to search, each looked up separately (min 2 chars) |
| `companyNumbers` | array | - | CRO numbers, digits (e.g. `104547`) |
| `maxResultsPerQuery` | integer | 50 | Max records per query (50 is the register's ceiling) |
| `statusFilter` | array | - | Keep only companies whose status contains one of these words (e.g. `Normal`, `Dissolved`) |

Set at least one of `companyNames` or `companyNumbers`. A run with neither fails immediately and is
not charged.

#### Example input

```json
{
  "companyNames": ["RYANAIR"],
  "statusFilter": ["Normal"],
  "maxResultsPerQuery": 10
}
```

### Result ceiling

A name search returns **at most 50 matches**. When a query hits that ceiling the run says so; narrow
the name or search by number to reach the rest. The full record for every match is fetched in the
same run.

### Billing

Charged **per search**, not per company - one query is served by a single session that runs the
search and fetches every matched company's full record, so the cost is per search regardless of how
many companies come back.

A search that finds nothing is still an answer, and is charged (`lookupStatus:
not_found_in_register`) - "this company is not on the Irish register" is a real KYB result. Queries
that could **not** be retrieved are **not charged**, are absent from the dataset, and are listed in
`FAILED_INPUTS` in the run's key-value store.

### Limitations

- **No directors, shareholders, owners or documents** - paid CRO services (see above).
- **50 results per name search** - a register limit.
- **Status text is the register's own** (`Normal`, `Dissolved`, `Liquidation`, ...).
- **`registeredEmail` is present only when the company filed one** - often null for older entities.

### Related registry actors

Part of a fleet of official-registry actors across 13+ countries - Poland (KRS, CRBR, KRZ, MSiG, EKW,
KNF, UOKiK, BDO), Germany (Handelsregister), Spain (Registro Mercantil, BORME), Italy, France,
Austria, Belgium, Cyprus (DRCOR), Nigeria (CAC), Colombia (RUES), Portugal, Slovakia (RPVS beneficial
owners), Czechia, UAE and California.

For Ireland specifically, pair this with a sanctions and PEP screen on the company names it returns.

***

**Data source:** [CRO CORE](https://core.cro.ie/), Companies Registration Office, Ireland. This actor
is not affiliated with or endorsed by the CRO.

### Related actors

Part of a suite of official government registry actors - **no public API to build or maintain**, pay per result, nothing to configure.

| Country | Actors |
|---|---|
| Poland | [BDO](https://apify.com/regdata/bdo-waste-registry-scraper) · [CRBR](https://apify.com/regdata/crbr-beneficial-owners-scraper) · [KRS (financials)](https://apify.com/regdata/poland-krs-financial-scraper) · [EKW](https://apify.com/regdata/ekw-ksiegi-wieczyste-scraper) · [KNF](https://apify.com/regdata/knf-registry-scraper) · [KRS (board)](https://apify.com/regdata/krs-fullnames-scraper) · [KRZ](https://apify.com/regdata/krz-debtor-scraper) · [MSiG](https://apify.com/regdata/msig-scraper) · [KYB check](https://apify.com/regdata/poland-kyb-check) · [PEP (Sejm)](https://apify.com/regdata/poland-parliamentary-pep-scraper) · [REGON (sites)](https://apify.com/regdata/polish-premises-prospector) · [REGON](https://apify.com/regdata/polish-regon-scraper) · [UOKiK](https://apify.com/regdata/uokik-clauses-scraper) |
| Germany | [Insolvenzbekanntmachungen](https://apify.com/regdata/germany-insolvency-scraper) · [Handelsregister](https://apify.com/regdata/germany-handelsregister-scraper) |
| Spain | [BORME](https://apify.com/regdata/borme-corporate-acts-scraper) · [Registro Mercantil](https://apify.com/regdata/spain-company-directory-scraper) · [Registro Público Concursal](https://apify.com/regdata/spain-concursal-scraper) |
| Italy | [INI-PEC](https://apify.com/regdata/italy-pec-lookup) · [Registro Imprese](https://apify.com/regdata/italy-registro-imprese-scraper) |
| Austria | [Ediktsdatei](https://apify.com/regdata/austria-ediktsdatei-scraper) · [WKO](https://apify.com/regdata/wko-business-directory-scraper) |
| France | [Societe.com](https://apify.com/regdata/societe-com-scraper) |
| Belgium | [KBO / BCE](https://apify.com/regdata/belgium-kbo-company-scraper) |
| Czechia | [ISIR](https://apify.com/regdata/czech-isir-insolvency-scraper) |
| Slovakia | [RPVS](https://apify.com/regdata/slovakia-rpvs-ubo-scraper) |
| Cyprus | [DRCOR](https://apify.com/regdata/cyprus-drcor-company-scraper) |
| Ireland | **CRO (this actor)** |
| Portugal | [Publicações MJ](https://apify.com/regdata/portugal-corporate-acts-scraper) |
| Nigeria | [CAC](https://apify.com/regdata/nigeria-cac-company-scraper) |
| Colombia | [RUES](https://apify.com/regdata/colombia-rues-company-scraper) |
| USA | [California SoS](https://apify.com/regdata/california-sos-business-scraper) · [California UCC](https://apify.com/regdata/california-ucc-lien-scraper) |
| UAE | [ADGM](https://apify.com/regdata/uae-adgm-public-register-scraper) |
| Global | [Adverse media](https://apify.com/regdata/adverse-media-screener) |

**Common combinations:** company register -> [UBO](https://apify.com/regdata/crbr-beneficial-owners-scraper) -> [insolvency/debtors](https://apify.com/regdata/krz-debtor-scraper) -> [adverse media](https://apify.com/regdata/adverse-media-screener) is the standard KYB/onboarding chain.

For Poland that whole chain is one call: [Poland KYB Risk Check](https://apify.com/regdata/poland-kyb-check) takes a NIP or KRS and returns identity, beneficial owners and insolvency - screened against the company **and every beneficial owner** - as a single verdict. The component registry lookups it runs bill as usual, plus a small orchestration fee.

> Full suite: [apify.com/regdata](https://apify.com/regdata) · Callable from any MCP client via [mcp.apify.com](https://mcp.apify.com)

# Actor input Schema

## `companyNames` (type: `array`):

One or more company names to search, each looked up separately (min 2 characters). Partial names work. A broad name can hit the register's 50-result ceiling.

## `companyNumbers` (type: `array`):

One or more Irish CRO registration numbers, each looked up separately. Digits only, e.g. '104547'.

## `maxResultsPerQuery` (type: `integer`):

Maximum company records to export per query. The register returns at most 50 matches per search, so 50 is the ceiling. Fetching the full record for each match happens in the same run.

## `statusFilter` (type: `array`):

Keep only companies whose status contains one of these words, e.g. 'Normal', 'Dissolved', 'Liquidation'. Leave empty to export every match - a Dissolved or Liquidation counterparty is usually the finding you most want to see.

## `proxyConfiguration` (type: `object`):

Leave this off. A normal run does not need a proxy.

## Actor input object example

```json
{
  "companyNames": [
    "RYANAIR"
  ],
  "maxResultsPerQuery": 10,
  "statusFilter": [],
  "proxyConfiguration": {
    "useApifyProxy": false
  }
}
```

# Actor output Schema

## `companies` (type: `string`):

Company records from the CRO register in the default dataset.

# 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 = {
    "companyNames": [
        "RYANAIR"
    ],
    "maxResultsPerQuery": 10
};

// Run the Actor and wait for it to finish
const run = await client.actor("regdata/ireland-cro-company-scraper").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 = {
    "companyNames": ["RYANAIR"],
    "maxResultsPerQuery": 10,
}

# Run the Actor and wait for it to finish
run = client.actor("regdata/ireland-cro-company-scraper").call(run_input=run_input)

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

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

```

## CLI example

```bash
echo '{
  "companyNames": [
    "RYANAIR"
  ],
  "maxResultsPerQuery": 10
}' |
apify call regdata/ireland-cro-company-scraper --silent --output-dataset

```

## MCP server setup

```json
{
    "mcpServers": {
        "apify": {
            "command": "npx",
            "args": [
                "mcp-remote",
                "https://mcp.apify.com/?tools=regdata/ireland-cro-company-scraper",
                "--header",
                "Authorization: Bearer <YOUR_API_TOKEN>"
            ]
        }
    }
}

```

## OpenAPI specification

Download the OpenAPI definition: https://api.apify.com/v2/acts/kxRMzFdJiJci4M536/builds/Y2ME4qITRASExg3AI/openapi.json
