# Cyprus Company Register Scraper — DRCOR KYB Data (`studio-amba/cyprus-drcor-scraper`) Actor

Search Cyprus companies on the Registrar of Companies (DRCOR) public search portal. Look up by name or HE registration number and get entity type, status, registration date, directors, secretary, and registered office address. No login, no API key required.

- **URL**: https://apify.com/studio-amba/cyprus-drcor-scraper.md
- **Developed by:** [Studio Amba](https://apify.com/studio-amba) (community)
- **Categories:** Business, Lead generation
- **Stats:** 2 total users, 1 monthly users, 100.0% runs succeeded, 0 bookmarks
- **User rating**: No ratings yet

## Pricing

from $7.00 / 1,000 result scrapeds

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/actors/running/actors-in-store.md#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

## Cyprus Company Register Scraper — DRCOR KYB Data

Search and extract Cyprus company data from [DRCOR](https://efiling.drcor.mcit.gov.cy) (Τμήμα
Εφόρου Εταιρειών — the Department of Registrar of Companies and Intellectual Property), Cyprus's
official national company register run by the Ministry of Commerce, Industry and Tourism. Look up
a company by name or HE registration number and get its entity type, registration status,
registration date, directors, company secretary, and registered office address — in one
structured pass, straight from the same public search DRCOR's own portal uses.

### How to scrape Cyprus company register data

This actor drives DRCOR's own public search and company-profile pages directly — the exact search
and detail flow `efiling.drcor.mcit.gov.cy` itself uses, no login and no API key required. It
returns one structured record per matching company: entity type, current status, registration
date, directors and secretary, and registered office address, exported via the Apify API,
CSV/Excel/JSON, or scheduled runs.

#### Search by name or HE number

Enter a company name (e.g. `BANK OF CYPRUS`, `Wargaming`) or an HE registration number (e.g.
`HE165` or `165`) in **Company Name or HE Number**. DRCOR matches from the start of the name, so a
group name (e.g. `MARFIN`) returns every company and trade name registered under it.

#### Result limit

**Max Results** caps how many full company profiles the actor fetches per run (default 20, up to
200\). DRCOR paginates its search results 10 per page; the actor walks as many pages as needed to
reach your limit.

### What data does Cyprus DRCOR Scraper extract?

| Field | Type | Description |
|-------|------|--------------|
| **companyName** | String | Registered company or trade name |
| **registrationNumber** | String | HE registration number (e.g. `HE165`), or trade-name number |
| **entityType** | String | Registry entity type, e.g. `Εταιρεία` (Company), `Εμπορική Επωνυμία` (Trade Name) |
| **subCategory** | String | Subcategory where published, e.g. `Δημόσια` (Public), `Ιδιωτική` (Private) |
| **nameStatus** | String | Whether this is the current or a former registered name |
| **organisationStatus** | String | Registry status, e.g. `Εγγεγραμμένη` (Registered) |
| **registrationDate** | String | Date entered on the register (DD/MM/YYYY) |
| **statusDate** | String | Date of the current status, where published |
| **registeredAddress** | String | Registered office address |
| **officers** | Array | Directors, secretary, or trade-name owner — `{name, role}` |
| **officerNames** | String | Officer names, semicolon-separated (for quick scanning) |
| **pendingServicesCount** | Number | Count of filing/service events on record for the entity |
| **fileLastUpdated** | String | Date the company's file was last updated (DD/MM/YYYY) |
| **url** | String | Link back to the DRCOR search results for this company |
| **scrapedAt** | String | ISO timestamp of extraction |

### Input parameters

| Parameter | Type | Default | Description |
|-----------|------|---------|--------------|
| **Company Name or HE Number** | String | `BANK OF CYPRUS` | Search Cyprus companies by name or HE registration number |
| **Max Results** | Integer | `20` | Maximum companies to return (1–200) |
| **Proxy Configuration** | Object | Automatic Apify proxy | Proxy settings |

### Example output

```json
{
    "companyName": "BANK OF CYPRUS PUBLIC COMPANY LIMITED",
    "registrationNumber": "HE165",
    "entityType": "Εταιρεία",
    "subCategory": "Δημόσια",
    "nameStatus": "Τελευταίο Όνομα",
    "organisationStatus": "Εγγεγραμμένη",
    "registrationDate": "31/12/1943",
    "statusDate": "",
    "registeredAddress": "Στασίνου, 51, Αγία Παρασκευή, Στρόβολος, 2002, Λευκωσία, Κύπρος",
    "officers": [
        { "name": "ΑΝΔΡΕΑΣ ΚΡΗΤΙΩΤΗΣ", "role": "Διευθυντής" },
        { "name": "ΚΑΤΙΑ ΣΑΝΤΗ", "role": "Γραμματέας" }
    ],
    "officerNames": "ΑΝΔΡΕΑΣ ΚΡΗΤΙΩΤΗΣ; ΚΑΤΙΑ ΣΑΝΤΗ",
    "pendingServicesCount": 96,
    "fileLastUpdated": "16/06/2026",
    "url": "https://efiling.drcor.mcit.gov.cy/DrcorPublic/SearchResults.aspx?name=BANK%20OF%20CYPRUS%20PUBLIC%20COMPANY%20LIMITED&sc=0",
    "scrapedAt": "2026-08-26T14:13:54.897Z"
}
```

You can download the dataset in various formats such as JSON, HTML, CSV, or Excel.

### Common use cases

- Build B2B prospecting lists of Cyprus-registered companies enriched with entity type, status,
  and registered office.
- Verify a Cyprus supplier's, customer's, or partner's legal status, registration date, and
  current directors before signing a contract.
- KYB / KYC pre-checks — pull HE number, registration status, directors, and company secretary in
  one pass, a common requirement given Cyprus's role as an EU corporate/holding-structure hub.
- Track director and secretary changes for companies you monitor.
- Feed structured Cyprus company data into CRM enrichment or market-research pipelines, matching
  the field shape of our other European company-register actors.

### Cost estimate

Pricing is pay-per-result. Each run makes one HTML search request per 10-result page plus one
detail request per matched company — plain HTTP requests against a public government portal, no
browser rendering used, so compute cost per run is low. A run returning 20 companies typically
makes around 22 total HTTP requests, lightly paced to be a good citizen of a government server. A
run's usage cost only settles after it reports SUCCEEDED.

### Tips

- Searching a group name (e.g. `MARFIN`) surfaces every company and trade name registered under
  that name — a fast way to map out a group's Cyprus corporate structure.
- Search by exact HE number when you already know it — it resolves directly to a single record.
- Company results include both live and historical entity types on the same register: a
  `Εμπορική Επωνυμία` (trade name) hit points back to its owning company via the `officers` array
  (role `Ιδιοκτήτης`, "Owner"), useful for connecting a trading name to its parent legal entity.

### Limitations

- DRCOR does not publish a VAT/tax number on this public portal (unlike some other EU registers) —
  the HE registration number is the stable identifier for a Cyprus company.
- The `pendingServicesCount` field reports how many filing/service events are on record, not the
  events themselves — DRCOR paginates that history 10 rows at a time per company, and walking it in
  full for every result would multiply requests well beyond what most KYB use cases need.
- Contact fields (phone, email, website) are not published on this register at all — DRCOR's public
  search surfaces entity, status, officer, and address data only, mirroring what a human visitor
  sees on the site.

### Related scrapers

- **[GEMI Greece Scraper](https://apify.com/studio-amba/publicity-businessportal-gr-scraper)** — Greek business registry data.
- **[WKO Firmen A-Z Scraper](https://apify.com/studio-amba/wko-scraper)** — Austrian business directory data.
- **[eInforma Scraper](https://apify.com/studio-amba/einforma-scraper)** — Spanish company register data.
- **[KRZ Scraper](https://apify.com/studio-amba/krz-scraper)** — Polish bankruptcy register data.
- **[Companies House Scraper](https://apify.com/studio-amba/companies-house-scraper)** — UK company register data.
- **[North Data Scraper](https://apify.com/studio-amba/northdata-scraper)** — European company data across 16 countries.

### Data source and legality

This actor reads publicly available company data directly from DRCOR's own public search portal,
the Cyprus Department of Registrar of Companies and Intellectual Property's official register. It
does not access any login-protected area, does not require an API key, and identifies itself with
a standard browser user agent. Use the data in line with applicable data-protection rules, in
particular when handling personal data of named directors and secretaries returned in some
results.

# Actor input Schema

## `searchQuery` (type: `string`):

Search for a Cyprus company by name (e.g. 'BANK OF CYPRUS' or 'Wargaming') or by exact HE registration number (e.g. 'HE165' or '165'). Matches from the start of the name.

## `maxResults` (type: `integer`):

Maximum number of companies to return full profiles for.

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

Select proxies to use. DRCOR has no anti-bot protection (plain ASP.NET WebForms site); the automatic Apify proxy is enough.

## Actor input object example

```json
{
  "searchQuery": "BANK OF CYPRUS",
  "maxResults": 20,
  "proxyConfiguration": {
    "useApifyProxy": true
  }
}
```

# Actor output Schema

## `results` (type: `string`):

No description

# 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 = {
    "searchQuery": "BANK OF CYPRUS",
    "maxResults": 20,
    "proxyConfiguration": {
        "useApifyProxy": true
    }
};

// Run the Actor and wait for it to finish
const run = await client.actor("studio-amba/cyprus-drcor-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 = {
    "searchQuery": "BANK OF CYPRUS",
    "maxResults": 20,
    "proxyConfiguration": { "useApifyProxy": True },
}

# Run the Actor and wait for it to finish
run = client.actor("studio-amba/cyprus-drcor-scraper").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 '{
  "searchQuery": "BANK OF CYPRUS",
  "maxResults": 20,
  "proxyConfiguration": {
    "useApifyProxy": true
  }
}' |
apify call studio-amba/cyprus-drcor-scraper --silent --output-dataset

```

## MCP server setup

```json
{
    "mcpServers": {
        "apify": {
            "type": "http",
            "url": "https://mcp.apify.com/?tools=fetch-actor-details,studio-amba/cyprus-drcor-scraper"
        }
    }
}

```

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/WspZcCztntEAxjdTr/builds/oWaeA6b76HqjvRfr9/openapi.json
