How Matching and Search Work
There are two API options for comparing business data to the Markaaz Global Business Directory: Advanced Match and Search. Advanced Match offers options for additional metadata to be returned in addition to multiple "matches" based on how many entities are requested. The "best match", the one with the highest match confidence score, is always returned as the first entity in the response. The Search API offers the ability for your organization to search the Markaaz Global Business Directory with nominal or complete requests of input data, such as name and country, to find businesses that meet your search criteria.
Matching Strategies
Many different business attributes are used to identify the best candidates based on the input record submitted in the API request.
- Identifying Attributes: Name (Including Legal Name, AKA/DBA and Former Names), Address (Including Registered, Physical, Mailing and Former Addresses)
- Location Attributes: Phone Number, URL
- National IDs and other IDs: National ID (ex. VAT), TaxID (FEIN, EIN, TaxID), LEI
Markaaz Data Matching Algorithm
-
Clean and normalize input data as a method to improve the accuracy and speed of the algorithm:
-
As a part of this step, we perform the following operations on both our stored data and the input string to be compared. Some examples include:
- Lowercase all the letters.
- Remove any special characters.
- Remove any additional white space.
- Replace the words with abbreviations with original words.
- Replace accented characters with their base forms.
-
-
Check common tokens within strings:
- This step checks for common tokens (words) between Markaaz data and the input values. The outcome influences the field-level Match Grades included in the API response.
- For example: We are comparing two strings (string1 & string2). For example, string1 = "ABC Manufacturing Company" and string2 = "ABC Company" will set the internal common tokens flag as true.
- The tokens for string1 are: ["ABC", "Manufacturing", "Company"]
- And the tokens for string2 are: ["ABC", "Company"]
- Another example: string1 = "ABC Manufacturing Company" and string2 = "XYZ Ltd" will set the internal common tokens flag as false, as there are no matching tokens.
- For example: We are comparing two strings (string1 & string2). For example, string1 = "ABC Manufacturing Company" and string2 = "ABC Company" will set the internal common tokens flag as true.
- This step checks for common tokens (words) between Markaaz data and the input values. The outcome influences the field-level Match Grades included in the API response.
-
Calculate Match Grade:
- We are using Sørensen-Dice Coefficient string similarity algorithm for calculating the Match Grade.
Match Score and Grade Output
- Each matched entity will receive an overall match score.
- Each input field will be provided a grade against each field in response payload. The Advanced Match API will return those field grades when the option is enabled.
- Entities that match more parameters will have a higher match confidence and a better chance of being discovered in the directory.
Advanced Match and Search Comparison
| Feature | Advanced Match API | Search API |
|---|---|---|
| Required Fields | legalName, address, locality, postalCode, country | country |
| Returns Field Grade metadata | The showGrades parameter is used to show how well the input payload values matched with the values in the Markaaz Directory. | Always returned. |
| Able to show non-matches | Optionally, the showNonMatches parameter may be set in the request to include entities falling below the configured Match Confidence Threshold. | N/A: There is no scoring threshold applied to Search results. Changing the Match Confidence Threshold has no effect on the results returned using Search. |
| Number of Business Entities Returned | The matchCount parameter defaults to 1, and can be set to return up to 10 results. | No API parameter. Returns up to 10 results. Results are sorted by markaazSearchConfidenceScore, descending. |
| Pre-sorted | Results are sorted by markaazMatchConfidenceScore, descending. | Results are sorted with companyStatus = "active" first, then by markaazMatchConfidenceScore, descending. |
Returns companyStatus(Active / Inactive) | No. (Available via Firmographic API) | Yes, required for sorting. (also available via Firmographic API) |
| Optional input fields, if the data can be provided |
| dba (doing business as), legalName, address (street), locality (city), region (state), postalCode, phoneNo, website, taxId, nationalId, names (primary contact) |
Updated 8 days ago
What’s Next
Learn how Markaaz reports results from the Advanced Match and Search API's and see a listing of the HTTPS Responses provided by the system.