Match a company list to the registers
Matches a company list (CSV, Excel or rows) to the registers in the background, with a results file of each match.
$0.01 per row matched
From your agent’s balance. A call that fails costs nothing.
An example
Here is the list of 240 companies we met at the trade fair. Find each one in the registers.
Your agent callscompanies_match$0.01 per row matched
The example business is Hansen & Voss, a restaurant-equipment wholesaler in Hamburg with 60 staff. The reply is the one the tool really gives.
{
"file_id": "3f6c1e2a-8b7d-4c5e-9f01-2a3b4c5d6e7f",
"country": "DE",
"max_rows": 240,
"name": "Trade fair contacts matched"
}Use it when
When the business has a list of companies to identify and enrich: a trade fair list, a CRM export, a target list.
- For one company by name, use
companies_search.
What it does
Matches a list of companies (a CSV or Excel file in the store, or rows) to the registers: each row by its registry number, or by name with its city counting in its favour, in its country's register (GLEIF where there is none). It runs in the background within the registers' pace (a few hundred rows a minute; slower for countries only GLEIF covers): the reply is 202 with a call_id; follow it with account_get_call, or wait for the companies.matched event. The result: counts, a sample and a results file with the list's columns and each match (id, name, score, city, status, industry, founded, LEI). Only clear matches count; close calls come back ambiguous with candidates, free. The call holds $0.01 a row (max_rows) and charges only the rows matched.
What comes back
First 202 with a call_id. When the list is done, account_get_call gives match_id, rows, matched, ambiguous, not_found, no_country, register_unavailable, charged_usd, file (the results file) and a sample of the first ten rows (row, status and the match). Every reply also carries cost_usd and balance_usd.
Inputs
| Name | Type | What it is |
|---|---|---|
file_id | string | A CSV or .xlsx list in the file store, with a header row. Exactly 36 characters. |
rows | array of objects | 1 to 500 items. |
rows[].name | string | Up to 200 characters. |
rows[].country | string | Up to 200 characters. |
rows[].city | string | Up to 200 characters. |
rows[].postcode | string | Up to 200 characters. |
rows[].domain | string | Up to 200 characters. |
rows[].number | string | Up to 200 characters. |
country | string | For rows without a country column, e.g. DE. Matches ^[A-Za-z]{2}$. |
columns | object | Which of the list's columns holds what, where its headers are unusual, e.g. {"name": "Firma", "city": "Sitz"}. |
columns.name | string | Up to 100 characters. |
columns.country | string | Up to 100 characters. |
columns.city | string | Up to 100 characters. |
columns.postcode | string | Up to 100 characters. |
columns.domain | string | Up to 100 characters. |
columns.number | string | Up to 100 characters. |
max_rows | integer | At least the list's rows; the call holds $0.01 for each. 1 to 5,000. Default: 100. |
name | string | The results file's name. Up to 200 characters. |
The call
Over MCP, call companies_match on https://api.conecto.chat/mcp/companies. Over REST:
curl -X POST https://api.conecto.chat/v1/tools/companies_match \
-H "Authorization: Bearer $CONECTO_KEY" \
-H "Content-Type: application/json" \
-d '{"file_id":"3f6c1e2a-8b7d-4c5e-9f01-2a3b4c5d6e7f","country":"DE","max_rows":240,"name":"Trade fair contacts matched"}'When it refuses
A refused call costs nothing and says what to do next.
| Code | When | What to do |
|---|---|---|
invalid_input400 | Both or neither of file_id and rows, a list longer than max_rows, or no column of names. | The message says what to change, such as the max_rows to set. |
not_found404 | No file with that id on this account. | files_list shows them. |
unsupported_type400 | The file isn't a CSV or an Excel workbook. | Save the list as CSV or .xlsx. |
More Company data tools
All 9 tools- Find a company in the registers
companies_searchCompanies by name or id across the public registers, each with its id, country, status, city and industry, best match first.Free* - Look up a company's profile
companies_getA company's record in its register: legal form, status, address, industry, employees, LEI and its officers by name and role.$0.05 a call - Get a company's filed financials
companies_financialsUp to ten years of a company's filed figures in one shape, each with its source document, plus growth, margins, returns and payment days.$0.05 a call - Save a UK company's filed accounts
companies_save_accountsA UK company's annual accounts as filed with Companies House, saved to the file store as a PDF: the latest, or a year's.$0.001 a call - Read the statements in an annual report
companies_read_accountsThe balance sheet and income statement read out of an annual report PDF, a scan by OCR, line by line with its page, German HGB or English.$0.05 a call - Find a company's owners and subsidiaries
companies_ownersA company's parents and subsidiaries from GLEIF, the SEC and Wikidata and, in the UK, the people and companies with significant control.$0.05 a call - Read a company's legal notice
companies_legal_noticeA company's legal notice (Impressum) read from its own website: legal name, register court and number, managers and VAT number.$0.01 a call - Estimate a company's revenue from its headcount
companies_estimateA revenue estimate from headcount and Eurostat's turnover per person employed for the size class and industry, always labeled as an estimate.Free*
Give this to your agent.
Set up Conecto from https://conecto.chat/SKILL.md