Luxembourg Company Search (LBR / RCS) API and MCP — Find Companies by Name
Send a company name or an RCS number and get back matching Luxembourg companies: RCS number, name, status and a link to the record. Set max_items to control the batch.
- You send
- a company name or RCS number
- You get back
- matching Luxembourg companies with RCS number, status and a link to each record
- Coverage
- Luxembourg — entities on LBR / RCS.
- 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 |
|---|---|---|---|
| LBR / RCS directly | Type the name into LBR / RCS and read the results | 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 Luxembourg — 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 | Id of this run, for tracing. |
kind | string | Source type of the response. |
keyword | string | The search text you sent. |
max_items | number | The cap you set on returned records. |
start_page | number | Results page the search started from. |
partial | boolean | Whether the result set is incomplete. |
human | string | Readable summary with the number of results and matches found. |
total_points | number | Points charged: one per returned record. |
machine.total_items | number | Records returned in this batch. |
machine.first_item | object | The first returned record, same shape as one entry of items. |
machine.items[] | array | The returned records. |
machine.total_found | number | Matches the register reports for the search; null when it does not report one. |
machine.page_count | number | Result pages read. |
machine.blocked | boolean | Whether the register refused the request. |
machine.proxy_traffic_bytes | number | Size of the data transferred for the run, in bytes. |
machine.items[].registration_number | string | RCS number. |
machine.items[].name | string | Company name. |
machine.items[].status | string | Status, e.g. Active. |
machine.items[].address | null | Null in search results; use the company lookup. |
machine.items[].url | string | Link to the company page on the register. |
machine.items[].company_type | null | Null in search results; use the company lookup. |
machine.items[].incorporation_date | null | Null in search results; use the company lookup. |
Example response
A real response, as returned.
{
"session_id": "11111111-1111-1111-1111-111111111111",
"kind": "lu_companies_search",
"keyword": "arcelormittal",
"max_items": 2,
"start_page": 1,
"partial": false,
"human": "# Luxembourg — LBR / RCS — company search\n\n- **Keyword:** arcelormittal\n- **Results:** 2 of 61 found\n- **Proxy traffic:** 109.0 KB",
"machine": {
"total_items": 2,
"first_item": {
"registration_number": "B98610",
"name": "Alliance Green Services",
"status": "Active",
"address": null,
"url": "https://www.lbr.lu/mjrcs-web-front/consult-company/B98610",
"company_type": null,
"incorporation_date": null
},
"items": [
{
"registration_number": "B98610",
"name": "Alliance Green Services",
"status": "Active",
"address": null,
"url": "https://www.lbr.lu/mjrcs-web-front/consult-company/B98610",
"company_type": null,
"incorporation_date": null
},
{
"registration_number": "B230206",
"name": "AM Global Business and Technologies",
"status": "Active",
"address": null,
"url": "https://www.lbr.lu/mjrcs-web-front/consult-company/B230206",
"company_type": null,
"incorporation_date": null
}
],
"total_found": 61,
"page_count": 1,
"blocked": false,
"proxy_traffic_bytes": 111657
},
"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-lu-companies-search \
-H "Authorization: Bearer YOUR_API_KEY" \
-H "Content-Type: application/json" \
-d '{"keyword":"arcelormittal","max_items":2}'What teams use it for
Where this field shows up in an actual workflow.
Get the number for a full lookup.
Check a number you hold against the register and read its status.
Collect Luxembourg entities that carry a group name.
Check names and flag entities whose status is not Active.
Coverage, freshness and limits
What this source covers, how fresh it is, and where it stops.
Luxembourg — entities on LBR / RCS.
Read at request time, so the answer reflects the register as it stands when you ask.
LBR / RCS is a public register. Every response carries the source URL it was read from and a session id you can trace.
- —Search results carry only number, name, status and link; for the rest use Luxembourg company.
- —Check each result before relying on it: a keyword can match entities you did not expect.
- —Status can show radiée (struck off) or en faillite (bankruptcy) cases.
Questions, answered
Yes, the endpoint accepts a company name or an RCS number.
Related sources
Try luxembourg company search on your own data
One request format across every source in the catalog.