nvNeuralVerge
Corporate registry

Portugal Company Filings API and MCP — Registry Acts, Accounts and Notices

Send a NIF/NIPC and get that company's publications from the Registo Comercial portal, newest first. Each row has a date, the act type (registry acts, accounts deposits, notices, convocations), the municipality, and flags for whether text and an attachment exist.

You send
a Portuguese NIF/NIPC or record link, plus optional max_items and start_page
You get back
Publications newest first: date, act type, municipality and whether text or an attachment exists
Coverage
Portugal — entities on Registo Comercial publications portal.
Price
2 points per returned record — $2 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
Registo Comercial publications portal directlyOpen the company on Registo Comercial publications portal 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$2 per 1,000, misses not billedCovers Portugal — 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 publications returned, newest first.
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[].idstringPublication id: the NIPC and its position in the list.
items[].company_registration_numberstringNIPC of the company.
items[].namestringCompany name.
items[].datestringPublication date.
items[].typestringAct type, e.g. Fusão(online).
items[].descriptionstringDescription of the act; the same as type in the sample.
items[].addressstringMunicipality.
items[].has_contentbooleanWhether published text exists.
items[].has_documentbooleanWhether an attached document exists.
items[].urlstringLink to the publication on the portal.
items[].registration_number, status, company_type, incorporation_datestring / nullShared record fields. Empty or null on publication 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": "pt_company_filings",
  "company": "500697256",
  "company_id": "500697256",
  "max_items": 2,
  "start_page": 1,
  "partial": false,
  "human": "# Portugal — Registo Comercial — company publications\n\n- **Company:** 500697256\n- **Results:** 2 of 180 found\n- **Proxy traffic:** 489.8 KB",
  "machine": {
    "total_items": 2,
    "first_item": {
      "registration_number": "",
      "name": "EDP, S.A.",
      "status": null,
      "address": "Lisboa",
      "company_type": null,
      "incorporation_date": null,
      "id": "500697256-1",
      "date": "2026-08-11",
      "type": "Fusão(online)",
      "description": "Fusão(online)",
      "has_content": true,
      "has_document": false,
      "company_registration_number": "500697256",
      "url": "https://publicacoes.mj.pt/Pesquisa.aspx#nipc=500697256&n=1"
    },
    "items": [
      {
        "registration_number": "",
        "name": "EDP, S.A.",
        "status": null,
        "address": "Lisboa",
        "company_type": null,
        "incorporation_date": null,
        "id": "500697256-1",
        "date": "2026-08-11",
        "type": "Fusão(online)",
        "description": "Fusão(online)",
        "has_content": true,
        "has_document": false,
        "company_registration_number": "500697256",
        "url": "https://publicacoes.mj.pt/Pesquisa.aspx#nipc=500697256&n=1"
      },
      {
        "registration_number": "",
        "name": "EDP, S.A.",
        "status": null,
        "address": "Lisboa",
        "company_type": null,
        "incorporation_date": null,
        "id": "500697256-2",
        "date": "2026-07-21",
        "type": "PRESTAÇÃO DE CONTAS CONSOLIDADAS",
        "description": "PRESTAÇÃO DE CONTAS CONSOLIDADAS",
        "has_content": true,
        "has_document": false,
        "company_registration_number": "500697256",
        "url": "https://publicacoes.mj.pt/Pesquisa.aspx#nipc=500697256&n=2"
      }
    ],
    "total_found": 180,
    "page_count": 1,
    "blocked": false,
    "proxy_traffic_bytes": 501534
  },
  "total_points": 4
}
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-pt-company-filings \
  -H "Authorization: Bearer YOUR_API_KEY" \
  -H "Content-Type: application/json" \
  -d '{"company":"500697256","max_items":2}'
Use cases

What teams use it for

Where this field shows up in an actual workflow.

Filing monitoring

Check a Portuguese company for new mergers, capital changes or accounts deposits.

Accounts availability

See when annual and consolidated accounts were last deposited.

Due diligence

Review the registry acts on a company before signing, newest first.

Coverage & limits

Coverage, freshness and limits

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

Coverage

Portugal — entities on Registo Comercial publications portal.

Freshness

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

Handling

Registo Comercial publications portal 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
  • —Rows describe each publication and link to it; the text of the act is not returned here.
  • —total_found can be large for big companies, so use max_items and start_page.
  • —You need the NIPC first. Portugal company search finds it from a name.
FAQ

Questions, answered

Registry acts, accounts deposits, notices and convocations, each with its act type.

Related

Related sources

Try portugal company filings on your own data

One request format across every source in the catalog.

Get started