nvNeuralVerge
Corporate registry

Cyprus Company Filings API and MCP — Documents, Charges and Annual Returns

Send a Cyprus registration number and get the list of filings on that file from the Registrar of Companies (DRCOR). You choose which list to read: documents, charges and mortgages, translations, annual returns (HE32) or pending services. Each row has a name, the service it was filed under, form number and description, a date and a page number.

You send
a Cyprus registration number or record link, plus an optional list type and max_items
You get back
Filed documents, charges and mortgages, translations, annual returns or pending services, with form, date and page number
Coverage
Cyprus — entities on Registrar of Companies (DRCOR).
Price
1 point per returned record — $1 per 1,000
Billed per record actually returned, capped by max_items. A request that returns nothing costs nothing.
Comparison

Ways to get this data

Three approaches teams use today, and where each one runs into trouble.

ApproachWhat it takesCostTrade-off
Registrar of Companies (DRCOR) directlyOpen the company on Registrar of Companies (DRCOR) and page through the listUsually free, sometimes per-documentA different interface, language and data shape for every country you add
Collecting it yourselfBuild and host a crawler per register, then keep each one aliveInfrastructure and maintenanceRegisters change their pages without warning, and nobody is on the hook when yours breaks
NeuralVergeOne request, the same shape as every other source in the catalog$1 per 1,000, misses not billedCovers Cyprus — other countries are separate sources with the same request format
Response

What you get back

Every field in the example response below.

FieldTypeDescription
total_itemsnumberHow many records are in this response.
first_itemobjectThe first record, repeated from items for quick access.
itemsarrayThe filings returned.
total_foundnumberHow many matches the register reported for the query.
page_countnumberHow many result pages were read for this request.
blockedbooleanTrue if the register could not be read; false on a normal run.
items[].company_registration_numberstringRegistration number of the organisation the filing belongs to.
items[].liststringWhich list the row comes from, e.g. documents.
items[].namestringName of the filing.
items[].servicestringThe service the filing was made under.
items[].form_numberstringForm number, e.g. HE4.
items[].form_descriptionstringDescription of the form.
items[].datestringDate of the filing.
items[].order_datestringDate the filing was ordered on the register.
items[].page_numbernumberPage number of the filing on the file.
items[].scannedbooleanWhether the filing exists as a scanned document.
items[].urlstringLink to the filing section on the register.
items[].registration_number, status, address, company_type, incorporation_datestring / nullShared record fields. Empty or null on filing rows.
proxy_traffic_bytesnumberTraffic used by the run, in bytes.
session_idstringId of this run, for tracing.
kindstringThe source that produced the response.
humanstringA short readable summary of the result.
total_pointsnumberPoints charged for this run.
Response

Example response

A real response, as returned.

{
  "session_id": "11111111-1111-1111-1111-111111111111",
  "kind": "cy_company_filings",
  "company": "HE 165",
  "company_id": "HE165|documents",
  "max_items": 2,
  "start_page": 1,
  "partial": false,
  "human": "# Cyprus — Registrar of Companies (DRCOR) — company filings\n\n- **Company:** HE165|documents\n- **Results:** 2 of 20 found\n- **Proxy traffic:** 2.5 KB",
  "machine": {
    "total_items": 2,
    "first_item": {
      "registration_number": "",
      "status": null,
      "address": null,
      "company_type": null,
      "incorporation_date": null,
      "company_registration_number": "HE 165",
      "list": "documents",
      "name": "Letter",
      "url": "https://efiling.drcor.mcit.gov.cy/DrcorPublic/SearchResults.aspx?name=%25&number=165&searchtype=optStartMatch&index=1&tname=%25&sc=0&type=HE#documents-1",
      "date": "2026-09-11",
      "service": "Alteration of officers and of their particulars",
      "form_number": "XL00",
      "form_description": "Letter",
      "order_date": "2026-09-11",
      "page_number": 817,
      "scanned": true
    },
    "items": [
      {
        "registration_number": "",
        "status": null,
        "address": null,
        "company_type": null,
        "incorporation_date": null,
        "company_registration_number": "HE 165",
        "list": "documents",
        "name": "Letter",
        "url": "https://efiling.drcor.mcit.gov.cy/DrcorPublic/SearchResults.aspx?name=%25&number=165&searchtype=optStartMatch&index=1&tname=%25&sc=0&type=HE#documents-1",
        "date": "2026-09-11",
        "service": "Alteration of officers and of their particulars",
        "form_number": "XL00",
        "form_description": "Letter",
        "order_date": "2026-09-11",
        "page_number": 817,
        "scanned": true
      },
      {
        "registration_number": "",
        "status": null,
        "address": null,
        "company_type": null,
        "incorporation_date": null,
        "company_registration_number": "HE 165",
        "list": "documents",
        "name": "HE4-Notification of change of Officers and of their particulars",
        "url": "https://efiling.drcor.mcit.gov.cy/DrcorPublic/SearchResults.aspx?name=%25&number=165&searchtype=optStartMatch&index=1&tname=%25&sc=0&type=HE#documents-2",
        "date": "2026-09-11",
        "service": "Alteration of officers and of their particulars",
        "form_number": "HE4",
        "form_description": "HE4-Notification of change of Officers and of their particulars",
        "order_date": "2026-09-11",
        "page_number": 816,
        "scanned": true
      }
    ],
    "total_found": 20,
    "page_count": 1,
    "blocked": false,
    "proxy_traffic_bytes": 2510
  },
  "total_points": 2
}
Integration

How to run it

The same lookup works from the app, the API, or as a tool an agent can call mid-task.

Results come back in the same envelope as every other source: a session id, a readable summary, the structured result and the points charged.

curl -X POST https://api.neuralverge.ai/functions/v1/run-cy-company-filings \
  -H "Authorization: Bearer YOUR_API_KEY" \
  -H "Content-Type: application/json" \
  -d '{"company":"HE 165","max_items":2}'
Use cases

What teams use it for

Where this field shows up in an actual workflow.

Spotting officer changes

Read the HE4 notifications to see when directors or secretaries last changed.

Charge and mortgage checks

List registered charges before you lend to or buy from a company.

Filing monitoring

Poll a company's file for new documents and annual returns.

Coverage & limits

Coverage, freshness and limits

What this source covers, how fresh it is, and where it stops.

Coverage

Cyprus — entities on Registrar of Companies (DRCOR).

Freshness

Read at request time, so the answer reflects the register as it stands when you ask.

Handling

Registrar of Companies (DRCOR) is a public register. Every response carries the source URL it was read from and a session id you can trace.

What it will not do
  • —The rows describe each filing and link to it; the content of the scanned documents is not extracted.
  • —Which filing types exist depends on the organisation; a small business name may have little to list.
  • —You need the registration number first. Cyprus company search finds it from a name.
FAQ

Questions, answered

Documents, charges and mortgages, translations, annual returns (HE32) and pending services. Pick one with the list parameter.

Related

Related sources

Try cyprus company filings on your own data

One request format across every source in the catalog.

Get started