JavaScript/Node.js client library and examples for the ExisEcho Fuzzy Matching API.
- Node.js 18+ (for native fetch support)
- Or any modern browser
import { ExisEchoClient } from './exisecho.js';
// Initialize with your API key
const client = new ExisEchoClient("your-api-key");
// Find duplicates in your data
const records = [
{ id: "1", fields: { name: "John Smith" } },
{ id: "2", fields: { name: "Jon Smyth" } },
{ id: "3", fields: { name: "Jane Doe" } }
];
const result = await client.findDuplicates(records, { threshold: 0.7 });
console.log(`Found ${result.summary.totalMatches} duplicates`);
for (const match of result.matches) {
console.log(` ${match.record1Id} <-> ${match.record2Id}: ${(match.score * 100).toFixed(0)}%`);
}Request a FREE test API key by emailing: exisllc@gmail.com
Or purchase at: https://www.fuzzy-logic.com/Purchase
| File | Description |
|---|---|
example-basic.js |
Basic duplicate detection |
example-compare-datasets.js |
Compare two datasets |
example-advanced.js |
Advanced options with weighted columns |
- Get your API key
- Update
API_KEYin the example file - Run:
node example-basic.js
const client = new ExisEchoClient(apiKey, baseUrl);Find duplicates within a single dataset.
const result = await client.findDuplicates(records, {
matchingColumns: ["name"], // Optional: columns to match
threshold: 0.7, // Similarity threshold
maxResults: 100, // Max matches to return
columnOptions: { ... } // Per-column options
});Compare two datasets to find matches between them.
const result = await client.compareDatasets(sourceRecords, targetRecords, {
matchingColumns: ["company"],
threshold: 0.7,
maxResults: 100,
columnOptions: { ... }
});Get recommended options for common use cases:
// For matching names
const nameOpts = ExisEchoClient.nameMatchingOptions();
// For matching addresses
const addrOpts = ExisEchoClient.addressMatchingOptions();
// For matching phone numbers
const phoneOpts = ExisEchoClient.phoneMatchingOptions();
// For matching emails
const emailOpts = ExisEchoClient.emailMatchingOptions();The client works in browsers with native fetch support:
<script type="module">
import { ExisEchoClient } from './exisecho.js';
const client = new ExisEchoClient("your-api-key");
// ... use client
</script>| Option | Type | Description |
|---|---|---|
weight |
number | Importance multiplier (0.1 to 10.0) |
usePhoneticMatching |
boolean | Match words that sound alike |
equateSynonyms |
boolean | Treat synonyms as equal |
removeHonorifics |
boolean | Remove Mr., Mrs., Dr., etc. |
removePunctuation |
boolean | Strip special characters |
ignoreCase |
boolean | Case-insensitive matching |
ignoreWordOrder |
boolean | Match regardless of word order |
removeNonDigits |
boolean | Keep only digits |
- Documentation: https://www.fuzzy-logic.com/Api
- Email: exisllc@gmail.com
- Website: https://www.fuzzy-logic.com