For AI agents: a documentation index is available at the root level at /llms.txt and /llms-full.txt. Append /llms.txt to any URL for a page-level index, or .md for the markdown version of any page.
Support
API ReferenceDocsRelease notes
API ReferenceDocsRelease notes
  • Analytics API Reference
        • POSTMatch records
        • GETMatch records supported languages
Support
LogoLogo
Login
Login
Analytics API ReferenceMatch NamesRecord Similarity

Match records

POST
/record-similarity
POST
/rest/v1/record-similarity
$curl -X POST https://analytics.babelstreet.com/rest/v1/record-similarity \
> -H "X-BabelStreetAPI-Key: <apiKey>" \
> -H "Content-Type: application/json" \
> -d '{
> "fields": {
> "dob": {
> "type": "rni_date",
> "weight": 0.1
> },
> "primaryName": {
> "type": "rni_name",
> "weight": 0.5
> }
> },
> "properties": {
> "threshold": 0.7,
> "includeExplainInfo": true
> },
> "records": {
> "left": [
> {
> "dob": {
> "date": "1993-04-16"
> },
> "primaryName": {
> "text": "Ethan R",
> "entityType": "PERSON",
> "language": "eng",
> "languageOfOrigin": "eng",
> "script": "Latn"
> }
> },
> {
> "dob": {
> "date": "1993-04-16"
> },
> "primaryName": {
> "text": "Evan R"
> }
> }
> ],
> "right": [
> {
> "dob": {
> "date": "1993-04-16"
> },
> "primaryName": {
> "text": "Evan R",
> "entityType": "PERSON",
> "language": "eng"
> }
> },
> {
> "dob": {
> "date": "1993-04-16"
> },
> "primaryName": {
> "text": "Ivan R"
> }
> }
> ]
> }
>}'
200Successful
1{
2 "fields": {},
3 "results": [
4 {
5 "score": 1.1,
6 "left": {
7 "fieldname": {
8 "text": "string"
9 }
10 },
11 "right": {
12 "fieldname": {
13 "text": "string"
14 }
15 },
16 "explainInfo": {
17 "fieldname": {
18 "weight": 1.1,
19 "calculatedWeight": 1.1,
20 "rawScore": 1.1,
21 "finalScore": 1.1,
22 "details": {
23 "leftInput": {
24 "data": "string",
25 "normalizedData": "string",
26 "latnData": "string",
27 "script": "string",
28 "languageOfUse": "string",
29 "languageOfOrigin": "string",
30 "tokens": [
31 {
32 "token": "string",
33 "latnTokn": "string",
34 "tokenWeight": 1.1,
35 "bin": 1.1,
36 "biasedBin": 1.1,
37 "tokenType": "string"
38 }
39 ],
40 "entityType": "string",
41 "empty": true
42 },
43 "rightInput": {
44 "data": "string",
45 "normalizedData": "string",
46 "latnData": "string",
47 "script": "string",
48 "languageOfUse": "string",
49 "languageOfOrigin": "string",
50 "tokens": [
51 {
52 "token": "string",
53 "latnTokn": "string",
54 "tokenWeight": 1.1,
55 "bin": 1.1,
56 "biasedBin": 1.1,
57 "tokenType": "string"
58 }
59 ],
60 "entityType": "string",
61 "empty": true
62 },
63 "scoreTuples": [
64 {
65 "scoreinIsolation": 1.1,
66 "scoreInContext": 1.1,
67 "left": "string",
68 "right": "string",
69 "marked": true,
70 "reason": "string",
71 "leftMinTokenIndex": 1.1,
72 "leftMaxTokenIndex": 1.1,
73 "rightMinTokenIndex": 1.1,
74 "rightMaxTokenIndex": 1.1
75 }
76 ],
77 "scoreAdjustments": {
78 "unbiasedScore": 1.1,
79 "score": 1.1,
80 "parameter": "string"
81 },
82 "finalScore": 1.1,
83 "defaultInput": {
84 "empty": "string"
85 },
86 "empty": true
87 }
88 }
89 },
90 "leftOnlyFields": [
91 "string"
92 ],
93 "rightOnlyFields": [
94 "string"
95 ]
96 }
97 ]
98}
Record Similarity compares two lists of records and returns a similarity score for each pair of records, where each record is made up of fields of the following entity types: PERSON, ORGANIZATION, ADDRESS, DATE, or IDENTIFIER/TEXT. The records do not have to contain the same fields; only fields with the same field name are compared. If one record has three fields and the other has two fields, the missing field will be ignored and the other two fields compared. **Field Weighting** When determining match scores, some fields may be more important than others. For example, you may decide the name is more important than the address in determining if the two records match. To accomplish this, the fields can be weighted, where a field's weight represents the magnitude of its impact on the final match score. If no weights are provided, the weight is distributed equally among all fields. If field weights are used, they must be used for all fields. **Request Structure** The request is a combination of json objects: - **Fields:** A required field whose value is the mapping information for each record. There must be a minimum of 1 field. - **Properties:** An optional field whose value specifies certain properties for the request. - **Records:** A required field that holds the "left" and "right" arrays of records to be compared. Each left record is compared to the associated right record. A record is a collection of name, address, and/or date objects.
Was this page helpful?
Previous

Match records supported languages

Next
Built with

Record Similarity compares two lists of records and returns a similarity score for each pair of records, where each record is made up of fields of the following entity types: PERSON, ORGANIZATION, ADDRESS, DATE, or IDENTIFIER/TEXT. The records do not have to contain the same fields; only fields with the same field name are compared. If one record has three fields and the other has two fields, the missing field will be ignored and the other two fields compared.

Field Weighting

When determining match scores, some fields may be more important than others. For example, you may decide the name is more important than the address in determining if the two records match. To accomplish this, the fields can be weighted, where a field’s weight represents the magnitude of its impact on the final match score. If no weights are provided, the weight is distributed equally among all fields. If field weights are used, they must be used for all fields.

Request Structure

The request is a combination of json objects:

  • Fields: A required field whose value is the mapping information for each record. There must be a minimum of 1 field.

  • Properties: An optional field whose value specifies certain properties for the request.

  • Records: A required field that holds the “left” and “right” arrays of records to be compared. Each left record is compared to the associated right record. A record is a collection of name, address, and/or date objects.

Authentication

X-BabelStreetAPI-Keystring
API Key authentication via header
OR
X-RosetteAPI-Keystring
API Key authentication via header

Request

This endpoint expects an object.
fieldsmap from strings to objectsOptional
propertiesobjectOptional
recordsobjectOptional

Response

OK
fieldsmap from strings to objects
resultslist of objects