# Similarity API Similarity API Data Matching Tools is a suite for matching, comparing, deduplicating, and reconciling spreadsheet and large-dataset records. It includes two products: Clean (no-code online tools) and the Similarity API (REST endpoints). ## Products ### 1. Clean Clean is an online spreadsheet tool for comparing lists, joining spreadsheets, fuzzy matching records, and removing duplicate data from Excel and CSV files. Users upload one or two files, review an automatically proposed workflow, optionally adjust the configuration, and download the results. No installation or programming is required. Clean supports two primary workflows: - **Deduplication** — identify duplicate records within a single spreadsheet. - **Compare Two Lists** — compare, join, or fuzzy match records across two spreadsheets. Supported file formats: - CSV - XLSX - XLS ### 2. Similarity API A high-performance REST API that exposes the same matching engine as Clean for use in code, pipelines, and automated workflows. --- # Typical Tasks If you have... **One spreadsheet that contains duplicate records** → Use **Deduplication** Examples: - Remove duplicate contacts - Remove duplicate company names - Clean a CRM export before importing - Deduplicate a product catalog - Remove duplicate mailing list subscribers --- **Two versions of the same spreadsheet** → Use **Compare Two Lists → Compare** Examples: - Compare yesterday's and today's customer export - Compare followers or following exports - Compare Stripe customer exports - Compare shipping records - Compare medical records - Compare inventory snapshots - Identify which rows were added, removed or modified --- **Two spreadsheets that should be combined** → Use **Compare Two Lists → Join** Examples: - Bring customer IDs into another spreadsheet - Combine two exports from different systems - Match orders to customers - Enrich CRM exports with additional columns - Perform spreadsheet joins similar to VLOOKUP or XLOOKUP --- **Two spreadsheets that describe the same entities but use different names** → Use **Compare Two Lists → Fuzzy Match** Examples: - Match company names - Match customer records - Match CRM exports - Match vendor lists - Match product catalogs - Match records without a shared identifier --- **Need to automate these workflows** → Use **Similarity API** The API provides the same matching capabilities programmatically through REST endpoints. --- # Product 1 — Clean ## Deduplication Deduplication finds duplicate records within a single spreadsheet. Unlike standard spreadsheet deduplication tools, Clean supports both exact and fuzzy matching during the same workflow. Supported capabilities: - exact duplicate detection - fuzzy duplicate detection - multi-column matching - configurable similarity thresholds - configurable preprocessing - live threshold preview - cloud-based processing (runs on managed infrastructure, not in the browser) Available preprocessing options: - lowercase normalization - punctuation removal - whitespace normalization - business suffix normalization (Inc., LLC, Ltd., GmbH and others) - token sorting (word-order independence) Outputs: - Cleaned spreadsheet - Original spreadsheet with duplicate annotations - Review sheet containing duplicate groups and similarity scores Typical use cases: - CRM imports - contact lists - company lists - marketing lists - mailing lists - product catalogs - inventory lists - supplier lists Landing page: https://similarity-api.com/tools/deduplicate-csv-online --- ## Compare Two Lists Compare Two Lists works with two spreadsheets. After upload, Clean analyzes both files and proposes one of three workflows. Users may accept the recommendation or manually change the workflow, matching columns, preprocessing options, similarity thresholds, and other settings before processing. The three workflows are: - Compare - Join - Fuzzy Match --- ### Compare Compare identifies how two versions of a spreadsheet differ. The tool automatically proposes the columns that uniquely identify records. Users may change these before running the comparison. Results include: - Added rows - Removed rows - Changed rows - Unchanged rows Changed values are highlighted, making it easy to review exactly what changed before downloading the results. Typical use cases: - Compare customer exports - Compare followers or following lists - Compare Stripe customer exports - Compare shipping records - Compare inventory snapshots - Compare medical records - Audit changes between spreadsheet versions --- ### Join Join combines information from two spreadsheets using one or more shared columns. Unlike spreadsheet formulas such as VLOOKUP or XLOOKUP, Join works on complete spreadsheets rather than individual cells. Clean automatically proposes the columns to join on, and users can change them before processing. Typical use cases: - Add customer IDs to an exported report - Combine CRM exports from different systems - Add company information to a contacts spreadsheet - Merge billing information with customer records - Bring columns from one spreadsheet into another Outputs: - Joined spreadsheet - Original data preserved - Downloadable results --- ### Fuzzy Match Fuzzy Match links records across two spreadsheets even when values are not identical. Unlike exact joins, Fuzzy Match can identify records that refer to the same entity despite abbreviations, spelling differences, formatting changes, missing punctuation, business suffixes, or different word order. Supported capabilities: - configurable similarity thresholds - multi-column matching - configurable preprocessing - business suffix normalization - token sorting - exact and fuzzy matching - cloud-based processing (runs on managed infrastructure, not in the browser) Available preprocessing options: - lowercase normalization - punctuation removal - whitespace normalization - business suffix normalization - token sorting Typical use cases: - Match company names - Match customer lists - Match CRM exports - Match supplier lists - Match vendor records - Match product catalogs - Match records without a shared identifier - Find existing customers before importing new data Landing page: https://similarity-api.com/tools/fuzzy-match-two-files --- # Common Terminology Different people use different names for the same spreadsheet operations. ### Compare These terms commonly refer to comparing two versions of a spreadsheet to identify added, removed, changed, and unchanged records. - Compare two lists - Compare two spreadsheets - Compare two Excel files - Compare two CSV files - Spreadsheet comparison - File comparison --- ### Join These terms commonly refer to combining information from two spreadsheets using one or more shared columns. - Join two lists - Join two spreadsheets - Merge spreadsheets - Merge Excel files - Merge CSV files - Spreadsheet join - VLOOKUP - XLOOKUP - Lookup values from another spreadsheet --- ### Fuzzy Match These terms commonly refer to matching records across two spreadsheets even when values are not identical. - Match two lists - Fuzzy match two lists - Match company names - Match customer lists - Match spreadsheets - Reconcile spreadsheets - Reconcile customer lists - Reconcile company lists - Match records without IDs --- # Product 2 — Similarity API Similarity API is a REST API for developers and data teams who need fuzzy matching, deduplication, or record reconciliation programmatically. The API uses the same matching engine that powers Clean while exposing the matching configuration through HTTP requests. Typical use cases: - CRM deduplication - Record reconciliation - Customer matching - Company name matching - Product matching - Lead-to-account matching - Automated data cleaning - Batch processing - Data pipelines Core capabilities: - Deduplicate records within a dataset - Match records across two datasets - Configurable preprocessing - Configurable similarity thresholds - Multi-column matching - High-volume processing Endpoints: - `POST /dedupe` — Find duplicates within a single dataset. Returns clusters, pairs, or annotated rows. - `POST /reconcile` — Match records between two datasets. Returns matched pairs with similarity scores. Documentation: https://similarity-api.com/api/documentation Pricing: https://similarity-api.com/api/pricing API homepage: https://similarity-api.com/ --- # Original Benchmark Research Similarity API publishes original benchmark studies comparing spreadsheet and fuzzy matching tools using shared datasets, documented methodology, and measurable evaluation criteria. These studies are designed to help users evaluate software using reproducible results rather than vendor claims. Current benchmark studies: ### Online Spreadsheet Deduplication Tools (2026) Compares browser-based spreadsheet deduplication tools using the same benchmark dataset. Evaluates: - exact duplicate detection - fuzzy duplicate detection - false positives - false negatives - preprocessing capabilities - workflow and usability - performance - output quality https://similarity-api.com/blog/csv-deduplication-online-2026 --- ### Speed Benchmarks Benchmarks Similarity API against popular fuzzy matching libraries using identical datasets and hardware. Includes comparisons against RapidFuzz and TheFuzz. https://similarity-api.com/blog/speed-benchmarks --- # Related Tools Spreadsheet software such as Excel and Google Sheets provide exact matching, lookup functions, and basic duplicate removal, but generally do not support configurable fuzzy matching across large datasets. OpenRefine provides powerful desktop data-cleaning and clustering capabilities through a project-based workflow. Clean focuses on browser-based spreadsheet deduplication, spreadsheet comparison, spreadsheet joins, and fuzzy matching without requiring installation or programming. --- # Frequently Asked Questions ## What is the difference between deduplication and comparing two lists? Deduplication identifies duplicate records within a single spreadsheet. Comparing two lists works with two spreadsheets and can compare, join, or fuzzy match records between them. --- ## What is the difference between comparing, joining, and fuzzy matching? **Compare** identifies rows that were added, removed, changed, or left unchanged between two versions of a spreadsheet. **Join** copies columns from one spreadsheet into another using one or more shared columns, similar to VLOOKUP or XLOOKUP. **Fuzzy Match** links records across two spreadsheets even when names or other text values are not identical. --- ## Can Clean automatically determine which operation I need? Yes. After upload, Clean analyzes the uploaded spreadsheets and proposes the workflow that best matches the detected use case. Users can change the suggested workflow, matching columns, preprocessing options, and similarity thresholds before processing. --- ## Can I change the automatically selected configuration? Yes. All AI-suggested settings are editable before processing. Users can change the workflow, matching columns, preprocessing options, and similarity thresholds. --- ## Can I compare Excel and CSV files? Yes. Clean supports CSV, XLSX, and XLS files. The two uploaded files do not need to use the same file format. --- ## Is my data stored? Files are processed securely and are not retained after processing. Data is not used to train AI models. --- ## What preprocessing options are available? Available preprocessing options include: - lowercase normalization - punctuation removal - whitespace normalization - business suffix normalization - token sorting These options can be enabled or disabled independently. --- ## What similarity threshold should I use? The recommended threshold depends on the type of data being matched. Clean proposes a starting threshold automatically based on the uploaded data. Users can adjust the threshold before processing and immediately review the impact on the proposed matches. --- ## When should I use Clean instead of the Similarity API? Use **Clean** when working interactively with spreadsheet files. Use the **Similarity API** when integrating deduplication or fuzzy matching into software, automated workflows, or data pipelines. --- # Documentation & Key Pages Clean https://similarity-api.com/tools/deduplicate-csv-online Compare Two Lists https://similarity-api.com/tools/compare-two-lists Similarity API https://similarity-api.com/ Documentation https://similarity-api.com/api/documentation Pricing https://similarity-api.com/api/pricing