Skip to main content
POST
Match Businesses

Description

The Match Businesses endpoint is the first step in the data enrichment process. It enables users to accurately identify businesses based on their name or domain, returning a unique Business ID that acts as the foundation for all subsequent API interactions. This endpoint is designed to provide high-accuracy business matching by leveraging multiple data sources, validation layers, and proprietary algorithms to ensure precise identification. Once a business is successfully matched, its Business ID becomes the primary key for retrieving enriched company data, accessing financial insights, monitoring real-time business events, and performing additional analytics through other Explorium APIs.

How It Works

Input: A list of business identifiers, which can include namewebsite (domain), and linkedin_company_url.
Processing: The system cross-references multiple internal datasets to determine the best possible match.
Output: A structured response containing the matched Business IDs, preserving the exact order of the input list.

Matching Strategy

When using the Business Match endpoint, the system applies a multi-step resolution strategy based on the fields you provide — primarily name and website.

1. Primary Matching — Smart Fuzzy Logic (Name + Website)

We begin by attempting to match the business using both the company name and website domain.
The company name is evaluated using a smart fuzzy matching algorithm designed to handle:
  • Common variations and abbreviations
  • Typos and noisy CRM inputs
  • Token normalization, semantic similarity, and industry-aware string processing
The website (domain) serves as a strong anchoring signal to disambiguate between similarly named companies and to boost confidence.
This phase ensures high-precision matching while remaining robust to imperfect input data.

2. Fallback Matching — Website Only

If the system fails to find a confident match using both name and domain, it automatically falls back to matching by website alone.
Because domains are typically unique and consistent across organizations, this fallback ensures matches can still be returned when the company name is incomplete, inconsistent, or incorrect.

Important Notes

  • Fallback matching from name + website → website only occurs only when both fields are provided.
  • If only the website is supplied, it will be used directly for matching.
  • If only the name is provided, matching relies solely on fuzzy name resolution without domain anchoring.
  • This logic is aligned with the AgentSource model, which emphasizes main site-level resolution (not individual branches).

Example Scenarios

Recommendation

To get the best possible results:
  • Always include both name and website when calling the Business Match endpoint.
  • This enables the system to apply smart fuzzy matching and fallback recovery for unmatched names — maximizing accuracy, coverage, and confidence.
  • Always store the Business ID – It serves as the key for all future enrichment and analytics.
  • Use multiple identifiers (e.g., name + domain, or LinkedIn URL) for higher match accuracy.
  • Batch requests to reduce HTTP overhead — but note that each business in the array counts as one query against your rate limit.
  • Mind your rate limit: a 50-business match request uses 50 of your 200 queries per minute. See Rate Limit for details.
  • Handle null values gracefully to account for unmatched businesses.
  • Update and validate input data regularly to ensure the most accurate matches.
For detailed endpoint explanations, request examples, and integration tips, explore the documentation sections above.

Body Params - Try Me Example

Rate limits are counted per query, not per request. Each business in the businesses_to_match array counts as a separate query toward your rate limit. A single request that matches 50 businesses consumes 50 queries from your 200-queries-per-minute limit — not 1. Batching reduces HTTP/network overhead, but it does not reduce the number of queries counted against your rate limit. Size your batches accordingly.

Authorizations

api_key
string
header
required

Body

application/json
businesses_to_match
BusinessMatchInput · object[]
required
Required array length: 1 - 50 elements
request_context
Request Context · object | null
Example:

null

Response

Successful Response

This is base response model for all responses in partner service.

response_context
ResponseContext · object
required
total_results
integer
required

The total_results number matched businesses

total_matches
integer
required

The total number of matches.

Required range: x >= 0
matched_businesses
(BusinessMatchOutputWithErrors · object | BusinessMatchOutput · object)[]

A list of all businesses. If they not matched business_id will None.