For endpoint details, request/response schemas, and code examples, see the Search API Reference.
Why Search Matters
Every Topograph workflow starts with a company ID:- Onboarding: Pass the ID to
/v2/onboardingto prefill customer forms - Verification: Pass the ID to
/v2/companyto fetch authoritative register data - Documents: Use the ID to retrieve official PDFs from public registers
- Monitoring: Use the ID to track changes over time
How Search Works
Topograph combines multiple data sources to give you the best possible results:Registry Search
For most queries, we leverage the search capabilities of official company registries directly. This gives you authoritative, up-to-date results. The registry’s own search algorithm determines relevance—some registries have sophisticated fuzzy matching, while others only support exact matches.Cached Index Search
For select countries, we maintain a local index of company data. This enables:- Faster results: Sub-second response times without registry latency
- Better fuzzy matching: Our own search algorithms handle typos and partial matches
- Consistent behavior: Same matching quality regardless of registry quirks
- Higher availability: Results even when the registry is temporarily down
Understanding Results
Match Types
Every result includes amatchReason that explains how it was found. This helps you assess result quality and build appropriate logic around different confidence levels.
| Match Type | Meaning | Reliability |
|---|---|---|
id | Exact match on a unique identifier (VAT, registration number, etc.) | Guaranteed correct |
exactLegalName | Legal name exactly matches your query | Very high |
partialId | Matched on a partial identifier that isn’t globally unique | High, but verify |
default | Generic match from registry search | Depends on registry |
matchType is id or partialId, the response includes an identifier field showing exactly what matched (e.g., { "VAT": "02580590541" } or { "CCIAA": "TO", "REA Code": "1234567" }).
When matchType is default, the result came from the registry’s own search algorithm. Quality varies significantly—some registries return highly relevant results, others may include tangential matches. Consider default results as suggestions that benefit from user confirmation.
Result Ordering
Results are automatically sorted by match reliability:id— Guaranteed matches appear firstexactLegalName— Exact name matches secondpartialId— Partial identifier matches thirddefault— Generic matches last
default matches to help users make informed selections.
Searching Effectively
Search by Identifier When Possible
If you have a company’s VAT number, registration number, or tax code, search with that. Identifier searches returnid match types—guaranteed 1:1 matches with no ambiguity. This is always the most reliable approach.
Scope by Country
Always specify the country. Country-scoped searches are faster and return more relevant results. If you’re building an onboarding flow, you likely already know the customer’s country from earlier in your form.Handle Ambiguous Results
When your search returns multiple results withdefault match types, present them to the user for selection rather than auto-selecting. The first result isn’t always the right one—registries don’t always order by relevance.
Use Streaming for Interactive UIs
In interactive applications, enable streaming to show results progressively. This improves perceived performance significantly—users see initial results in under a second rather than waiting for all sources to complete.Search in the KYB Flow
Search is the critical first step in a typical KYB onboarding workflow:- Search: Customer finds their company, you capture the ID
- Onboard: Use the ID with
/v2/onboardingto prefill forms quickly (€0.50, P90 < 5s) - Verify: Use the ID with
/v2/companyto fetch authoritative register data - Monitor: Use the ID to track changes and stay compliant
KYB Onboarding Best Practices
Learn how to combine search with onboarding and verification endpoints to build high-conversion KYB flows.
Country Considerations
Search capabilities vary by country due to differences in registry APIs and data availability:| Capability | Description |
|---|---|
| Name search | Most countries support searching by company name |
| ID search | Most countries support searching by registration number or VAT |
| Fuzzy matching | Varies by registry—some handle typos well, others require exact matches |
| Response time | From ~200ms (cached index) to ~10s (slow registries) |
Company ID formats vary by country. German IDs combine register and city (e.g., “Augsburg HRB 34617”). French IDs are SIREN numbers (9 digits). Italian searches can use VAT, Codice Fiscale, or CCIAA+REA combinations. The ID returned by search is always the correct format to use with other Topograph endpoints.
Best Practices
For Automated Workflows
For Automated Workflows
- Search by identifier (VAT, registration number) whenever available
- Only trust
idmatch types for fully automated processing - Filter by match type and queue
defaultmatches for manual review - Store the company IDs you retrieve for future API calls
For User Interfaces
For User Interfaces
- Use streaming mode for instant feedback as results arrive
- Display match type indicators to help users assess result confidence
- Show the matched identifier (VAT, registration number) when available
- Let users confirm their selection rather than auto-selecting ambiguous matches
- Consider showing a “Verified” badge for
idmatches
For High-Volume Operations
For High-Volume Operations
- Prefer identifier-based searches for maximum reliability
- Cache company IDs from search results for subsequent API calls
- Set strict match type requirements—only process
idmatches automatically - Handle lower-confidence matches in a separate review queue
Next Steps
Once you have a company ID from search, you’re ready to retrieve data:Onboarding Data
Fast, affordable company profiles for prefilling forms (€0.50, P90 < 5s)
Verification Data
Authoritative data fetched directly from public registers
API Reference
Complete endpoint documentation with request/response schemas
Country Specifics
Country-level details on search capabilities and identifier formats