International Business Search: API Quickstart
This quickstart covers the Business Verification side of Baselayer International Search product, which returns corporate registration data for businesses in 76 supported jurisdictions. For the conceptual overview (and for international Web Presence), see International Products: Basics.Note: International Business Search is API-only for now, and uses a separate route from the US Business Search (/international/searches, not/searches). The two are not interchangeable.
Before you start
- You need a Baselayer API key. Requests are authenticated the same way as every other Baselayer endpoint. See Authentication.
- You can develop against the sandbox before going live. See Sandbox vs. Production Environments.
- Every request must include an
iso2_country_code(ISO 3166-1 alpha-2, e.g.GB,DE,CA). It must be one of the 76 supported countries listed in the Basics guide.
Step 1: Choose how you’ll search
POST /international/searches accepts two ways to identify a business. Both require iso2_country_code.
Name + address is the standard approach, and all you need for the vast majority of searches, treat it as your default.
The registration number is a good optional input to offer alongside it. In many countries, owners and finance staff know their company’s registration number by heart, so letting them enter it is fast and familiar. When
filing_number is provided, the registry is searched by that number first; a name, if also provided, is used as a fallback when no company matches the number. With a filing_number, name and address are each optional; without one, both are required.
Tip: Label the registration-number field with the local term so users recognize it: for example, in Spain it’s the CIF. See Best Practices for more.
Step 2 (optional add-on): Offer a registration lookup
This step is entirely optional and not needed for a great result. If you find match rates in a particular market could be better, you can offer users a smoother path: look up candidates withGET /international/registrations, show them the list, and let them pick the right one. Then search using that result’s filing_number.
Text
iso2_country_code, name, and/or filing_number. The endpoint returns a list of matching registrations to choose from. Take the filing_number of the chosen result and use it in Step 3.
Think of this as a nice enhancement, not a requirement: a plain name + address search is a perfectly good one-step flow.
Step 3: Create the search
By name + address:Text
filing_number chosen from Step 2):
Text
officer_names, website, phone_number, email, alternative_names, and reference_id (your internal tracking ID).
Enhanced Profile add-on: to also return directors, ultimate beneficial owners, shareholders, and share capital where available, request the Order.Enhanced option. It is billed separately, and cost varies per country.
Text
Step 4: Get the results
International Business Search is asynchronous. ThePOST returns immediately with an id; retrieve results when the search completes, via webhook (recommended) or polling.
Text
InternationalBusinessSearch.submitted: accepted and processingInternationalBusinessSearch.completed: results are availableInternationalBusinessSearch.failed: no associated business was found
Step 5: Read the response
A completed search returns abusiness object. These fields are present across all countries:
name: the official registered namefile_number: the registration/filing number in the local registrystatus: normalized toactive,inactive, orunknowncountry: the ISO2 country code of the registration
business_name_match: how closely yournamematched:EXACT,SIMILAR, orNO_MATCH(identical to the US).business_address_match: how closely youraddressmatched, at international granularity:EXACT,CITY,REGION,COUNTRY, orNO_MATCH.filing_number_match: a boolean specific to international search:trueif thefiling_numberyou supplied located the company at the registry,falseif the search fell back to the name, andnullif you didn’t supply a filing number.
null when the corresponding input wasn’t provided. Use business_name_match and business_address_match for decisioning exactly as you do for US searches.
The response also includes watchlist_hits: the company, any alternative_names you sent, and its current officers and beneficial owners are screened against OFAC, CSL, FBI, Canadian sanctions and OIG (plus PEP when you order Order.Pep), following your Account Settings. Each entry has code, name, count and details. A count of 0 means screened with no match; a list that’s absent wasn’t screened. A confirmed OFAC hit sets Risk to 0 / F.
International Business Search also returns KYB and Risk ratings on the same scale as the US product, with the same grade bands (A ≥ 90, B ≥ 80, C ≥ 60; only A and B count as verified), so you can apply your existing thresholds. The KYB score only counts the inputs you sent. See the international scoring section and Scores & Ratings.
Important: Data depth varies by country. Most countries return the core registration fields above; some return more.statusis always normalized toactive/inactive/unknown.
End-to-End Flow Summary
That’s a complete international business verification:- Identify the business: by name + address (the default), or by registration number where the user has it.
- Create the search:
POST /international/searcheswithiso2_country_code, optionally addingOrder.Enhancedfor ownership data. - Receive results: via the
InternationalBusinessSearch.completedwebhook, or by pollingGET /international/searches/{id}. - Decide: read the
businessobject and apply your existing KYB and Risk thresholds.
Where to Go Next
- International Products: Best Practices — Offering and localizing the registration-number field, when to use Enhanced Profiles, what varies by country, and how to handle low match rates.
- International Products: Basics — The full overview: supported countries and international Web Presence.
- Scores & Ratings — How KYB and Risk ratings are calculated and how to threshold on them.
- Webhooks — Configuring delivery for
InternationalBusinessSearchevents.