New Zealand Company Documents API and MCP — Filing List by Company Number
Send a company number and get the list of documents the company has filed with the Companies Register, each with its date and time, document type, description, a link to the document page and any file links.
- You send
- A New Zealand company number or the link to the Companies Register record
- You get back
- The documents the company has filed: date, time, type, description and file links
- Coverage
- New Zealand — entities on Companies Register.
- 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.
Ways to get this data
Three approaches teams use today, and where each one runs into trouble.
| Approach | What it takes | Cost | Trade-off |
|---|---|---|---|
| Companies Register directly | Open the company on Companies Register and page through the list | Usually free, sometimes per-document | A different interface, language and data shape for every country you add |
| Collecting it yourself | Build and host a crawler per register, then keep each one alive | Infrastructure and maintenance | Registers change their pages without warning, and nobody is on the hook when yours breaks |
| NeuralVerge | One request, the same shape as every other source in the catalog | $1 per 1,000, misses not billed | Covers New Zealand — other countries are separate sources with the same request format |
What you get back
Every field in the example response below.
| Field | Type | Description |
|---|---|---|
session_id | string | Identifier of this run. Keep it to trace the call. |
kind | string | Source that produced the response. |
company | string | The identifier you sent. |
company_id | string | The identifier the source resolved it to. |
max_items | number | The cap on returned records. |
start_page | number | The results page the run started from. |
partial | boolean | True when the run stopped before reading everything it was asked for. |
human | string | Readable summary of the run in Markdown, including how many results were found. |
machine.total_items | number | Number of records returned in this response. |
machine.first_item | object | The first returned document, repeated as the first entry of items. |
machine.first_item.id | string | Document identifier. |
machine.first_item.document_id | string | Document identifier, the same as id. |
machine.first_item.date | string | Date of the filing, as YYYY-MM-DD. |
machine.first_item.time | string | Time of the filing. |
machine.first_item.type | string | Document type, for example Annual Return Filed. |
machine.first_item.description | string | Description of the document. |
machine.first_item.document_url | null | Direct link to the document. Empty in the sample. Null in the sample response, so the type is not shown there. |
machine.first_item.url | string | Link to the document on the company's documents page. |
machine.first_item.file_count | number | Number of files attached to the document. |
machine.first_item.files | array | The files attached to the document. Empty in the sample. |
machine.first_item.company_number | string | The company number the document belongs to. |
machine.items | array | Every returned record, each with the same fields as first_item. |
machine.total_found | number | How many matches the register reports in total, which can be more than you asked for. |
machine.page_count | number | Number of result pages read. |
machine.blocked | boolean | Whether the register refused the read. False in the sample. |
machine.proxy_traffic_bytes | number | Traffic used by the run, in bytes. Informational. |
total_points | number | Points charged for the run, one per returned record. |
Example response
A real response, as returned.
{
"session_id": "11111111-1111-1111-1111-111111111111",
"kind": "nz_company_documents",
"company": "1157956",
"company_id": "1157956",
"max_items": 2,
"start_page": 1,
"partial": false,
"human": "# New Zealand — Companies Register — company documents\n\n- **Company:** 1157956\n- **Results:** 2 of 76 found\n- **Proxy traffic:** 260.6 KB",
"machine": {
"total_items": 2,
"first_item": {
"id": "40446421",
"document_id": "40446421",
"date": "2026-06-24",
"time": "11:14",
"type": "Annual Return Filed",
"description": "Annual Return Filed",
"document_url": null,
"url": "https://app.companiesoffice.govt.nz/companies/app/ui/pages/companies/1157956/documents#40446421",
"file_count": 0,
"files": [],
"company_number": "1157956"
},
"items": [
{
"id": "40446421",
"document_id": "40446421",
"date": "2026-06-24",
"time": "11:14",
"type": "Annual Return Filed",
"description": "Annual Return Filed",
"document_url": null,
"url": "https://app.companiesoffice.govt.nz/companies/app/ui/pages/companies/1157956/documents#40446421",
"file_count": 0,
"files": [],
"company_number": "1157956"
},
{
"id": "39637982",
"document_id": "39637982",
"date": "2026-02-03",
"time": "11:44",
"type": "Particulars of Director",
"description": "Particulars of Director",
"document_url": null,
"url": "https://app.companiesoffice.govt.nz/companies/app/ui/pages/companies/1157956/documents#39637982",
"file_count": 0,
"files": [],
"company_number": "1157956"
}
],
"total_found": 76,
"page_count": 1,
"blocked": false,
"proxy_traffic_bytes": 266867
},
"total_points": 2
}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-nz-company-documents \
-H "Authorization: Bearer YOUR_API_KEY" \
-H "Content-Type: application/json" \
-d '{"company":"1157956","max_items":2}'What teams use it for
Where this field shows up in an actual workflow.
Detect new annual returns, director changes and other filings since your last run.
Review a company's filing history in one request.
Check whether annual returns are filed on time.
Use the document id and date as the key for what is new.
Coverage, freshness and limits
What this source covers, how fresh it is, and where it stops.
New Zealand — entities on Companies Register.
Read at request time, so the answer reflects the register as it stands when you ask.
Companies Register is a public register. Every response carries the source URL it was read from and a session id you can trace.
- —The two documents in the sample have no files attached, so a link to the register page is what you get for them.
- —The list gives each document's metadata, not the document's contents.
- —Only documents the register shows are listed.
Questions, answered
The list returns file links where files are attached. For the two documents in the sample there are none, so you get the register page link.
Related sources
Try new zealand company documents on your own data
One request format across every source in the catalog.