Skip to main content
GET
/
v2
/
search
Search for companies
curl --request GET \
  --url https://api.topograph.co/v2/search \
  --header 'x-api-key: <api-key>'
[
  {
    "address": {
      "addressLine1": "10 rue de la Fraternité",
      "city": "Bagnolet",
      "postalCode": "93170",
      "region": "FR",
      "countryCode": "FR",
      "state": "Île-de-France",
      "addressLine2": "Topograph Building",
      "poBox": "PO Box 123",
      "careOf": "c/o John Doe",
      "latitude": 59.9139,
      "longitude": 10.7522
    },
    "id": "932884117",
    "legalName": "SEMAPHORE",
    "country": "FR",
    "matchReason": {
      "matchType": "default"
    },
    "legalNameInEnglish": "Test Display Hong Kong Trading Limited"
  }
]

Documentation Index

Fetch the complete documentation index at: https://docs.topograph.co/llms.txt

Use this file to discover all available pages before exploring further.

Authorizations

x-api-key
string
header
required

Query Parameters

country
enum<string>
required

The country code in ISO 3166-1 alpha-2 format (e.g., "FR" for France, "DE" for Germany).

Available options:
AT,
BE,
BG,
CH,
CN,
CZ,
CY,
DE,
DK,
EE,
ES,
FI,
FR,
GB,
GG,
GR,
HK,
HR,
HU,
IE,
IS,
IT,
JE,
LI,
LU,
LV,
MC,
MT,
MU,
NL,
NO,
PL,
PT,
RO,
SE,
SG,
SI,
SK,
VG
Example:

"FR"

query
string
required

The search query, which can be a company name or registration number. Note that search capabilities may vary by country, with some supporting only name or registration number searches.

Example:

"Topograph"

stream
boolean

Enable streaming mode. When true, returns Server-Sent Events (SSE) with progressive results as each search source completes. Set Accept header to "text/event-stream" for proper streaming. When false or omitted, returns standard JSON array after all sources complete.

Example:

true

transliterate
boolean

When true, user-facing string fields in the response (company names, addresses, person names, activity descriptions) are romanized from their native script to Latin characters on the way out. Internal data, cache, and billing are unaffected — only the response payload is transformed. Routing: Cyrillic/Greek/Hangul/Hebrew/Arabic/Thai via unidecode, Chinese via pinyin-pro (toneless), Japanese via kuroshiro (Hepburn).

Example:

false

Response

List of companies (JSON when stream=false, SSE when stream=true)

address
object
required

The legal address of the company

id
string
required

The company number. In some countries, this might be a concatenation of the registry and city (e.g., in Germany: "Augsburg HRB 34617"). The search function will always return a usable company number. Check the documentation to see which number format is used for each country.

Example:

"932884117"

Legal name of the company

Example:

"SEMAPHORE"

country
enum<string>
required

The country code in ISO 3166-1 alpha-2 format (e.g., "FR" for France, "DE" for Germany).

Available options:
AF,
AX,
AL,
DZ,
AS,
AD,
AO,
AI,
AQ,
AG,
AR,
AM,
AW,
AU,
AT,
AZ,
BS,
BH,
BD,
BB,
BY,
BE,
BZ,
BJ,
BM,
BT,
BO,
BQ,
BA,
BW,
BV,
BR,
IO,
BN,
BG,
BF,
BI,
KH,
CM,
CA,
CV,
KY,
CF,
TD,
CL,
CN,
CX,
CC,
CO,
KM,
CG,
CD,
CK,
CR,
CI,
HR,
CU,
CW,
CY,
CZ,
DK,
DJ,
DM,
DO,
EC,
EG,
SV,
GQ,
ER,
EE,
ET,
FK,
FO,
FJ,
FI,
FR,
GF,
PF,
TF,
GA,
GM,
GE,
DE,
GH,
GI,
GR,
GL,
GD,
GP,
GU,
GT,
GG,
GN,
GW,
GY,
HT,
HM,
VA,
HN,
HK,
HU,
IS,
IN,
ID,
IR,
IQ,
IE,
IM,
IL,
IT,
JM,
JP,
JE,
JO,
KZ,
KE,
KI,
KR,
KP,
KW,
KG,
LA,
LV,
LB,
LS,
LR,
LY,
LI,
LT,
LU,
MO,
MK,
MG,
MW,
MY,
MV,
ML,
MT,
MH,
MQ,
MR,
MU,
YT,
MX,
FM,
MD,
MC,
MN,
ME,
MS,
MA,
MZ,
MM,
NA,
NR,
NP,
NL,
NC,
NZ,
NI,
NE,
NG,
NU,
NF,
MP,
NO,
OM,
PK,
PW,
PS,
PA,
PG,
PY,
PE,
PH,
PN,
PL,
PT,
PR,
QA,
RE,
RO,
RU,
RW,
BL,
SH,
KN,
LC,
MF,
PM,
VC,
WS,
SM,
ST,
SA,
SN,
RS,
SC,
SL,
SG,
SX,
SK,
SI,
SB,
SO,
ZA,
GS,
SS,
ES,
LK,
SD,
SR,
SJ,
SZ,
SE,
CH,
SY,
TW,
TJ,
TZ,
TH,
TL,
TG,
TK,
TO,
TT,
TN,
TR,
TM,
TC,
TV,
UG,
UA,
AE,
GB,
US,
UM,
UY,
UZ,
VU,
VE,
VN,
VG,
VI,
WF,
EH,
YE,
ZM,
ZW,
US-FL,
US-MA,
US-NJ,
US-NY,
US-TX,
US-DE,
US-WA,
US-GA,
US-NV,
TEST
Example:

"FR"

matchReason
object
required

Match reason containing information about why this result was returned. Includes the match type and which identifier matched for ID matches.

Example:
{ "matchType": "default" }

The English translation or romanization of the legal name, commonly used for international business. Particularly relevant for companies registered with non-Latin alphabet names (e.g., Chinese, Japanese, Korean, etc.).

Example:

"Test Display Hong Kong Trading Limited"