Official sample code and examples for the ExisEcho API - a powerful fuzzy matching and duplicate detection service.
ExisEcho is a fuzzy logic deduplication system that finds similar but not identical records in your data. Unlike exact-match tools, ExisEcho uses advanced fuzzy matching algorithms to identify records with:
- Typos and misspellings (Smith vs Smyth)
- Abbreviations (Corporation vs Corp)
- Name variations (Bob vs Robert)
- Formatting differences (New York vs NYC)
- Phonetic similarities (words that sound alike)
Website: https://www.fuzzy-logic.com
Request a FREE test API key by emailing us at: exisllc@gmail.com
Or purchase an API key at: https://www.fuzzy-logic.com/Purchase
- Python Examples - Full-featured Python client with examples
- JavaScript Examples - Node.js and browser-compatible examples
Python:
import requests
response = requests.post(
"https://www.fuzzy-logic.com/api/match",
headers={"X-API-Key": "your-api-key"},
json={
"records": [
{"id": "1", "fields": {"name": "John Smith"}},
{"id": "2", "fields": {"name": "Jon Smyth"}},
{"id": "3", "fields": {"name": "Jane Doe"}}
],
"threshold": 0.7
}
)
result = response.json()
print(f"Found {result['summary']['totalMatches']} duplicates!")JavaScript:
const response = await fetch("https://www.fuzzy-logic.com/api/match", {
method: "POST",
headers: {
"Content-Type": "application/json",
"X-API-Key": "your-api-key"
},
body: JSON.stringify({
records: [
{ id: "1", fields: { name: "John Smith" } },
{ id: "2", fields: { name: "Jon Smyth" } },
{ id: "3", fields: { name: "Jane Doe" } }
],
threshold: 0.7
})
});
const result = await response.json();
console.log(`Found ${result.summary.totalMatches} duplicates!`);| Endpoint | Method | Description |
|---|---|---|
/api/match |
POST | Find duplicates within a single dataset |
/api/compare |
POST | Compare two datasets to find matches between them |
/api/health |
GET | Health check (no authentication required) |
- Multiple Matching Algorithms - Levenshtein, Jaro-Winkler, and phonetic matching
- Phonetic Matching - Match names that sound alike (Soundex, Metaphone)
- Synonym Support - Treat equivalent terms as matches (Bob=Robert, Corp=Corporation)
- Weighted Scoring - Assign importance to different columns
- Preprocessing Options - Remove punctuation, honorifics, articles, and more
- Fast Processing - Handle thousands of records efficiently
Fine-tune matching behavior per column:
| Option | Description |
|---|---|
weight |
Importance multiplier (0.1 to 10.0) |
usePhoneticMatching |
Match words that sound alike |
equateSynonyms |
Treat synonyms as equal |
removeHonorifics |
Remove Mr., Mrs., Dr., etc. |
removePunctuation |
Strip special characters |
ignoreCase |
Case-insensitive matching |
ignoreWordOrder |
Match regardless of word order |
See the full API documentation for all options.
Find duplicate customer records in your CRM:
records = [
{"id": "1", "fields": {"name": "Acme Corporation", "email": "info@acme.com"}},
{"id": "2", "fields": {"name": "ACME Corp", "email": "info@acme.com"}},
{"id": "3", "fields": {"name": "Acme Corp.", "email": "contact@acme.com"}}
]Match names with variations:
column_options = {
"name": {
"usePhoneticMatching": True, # John/Jon
"equateSynonyms": True, # Robert/Bob
"removeHonorifics": True, # Dr., Mr., Mrs.
"ignoreWordOrder": True # "Smith, John" = "John Smith"
}
}Match addresses with abbreviations:
column_options = {
"address": {
"equateSynonyms": True, # Street/St, Avenue/Ave
"removePunctuation": True,
"ignoreCase": True
}
}- 10,000 API calls - $25
- 100,000 API calls - $99
- 1,000,000 API calls - $499
- Enterprise - Custom pricing
Each unit = 2 records processed. View pricing details
- Documentation: https://www.fuzzy-logic.com/Api
- Email: exisllc@gmail.com
- Website: https://www.fuzzy-logic.com
- FAQ: https://www.fuzzy-logic.com/Faq
This sample code is released under the MIT License.
ExisEcho is developed by Exis, LLC