API de Similaridade de Resultados Instantâneos é uma API de correspondência difusa de alta velocidade e deduplicação projetada para dados reais e desorganizados. Ela ajuda você a identificar registros quase duplicados e reconciliar entidades mesmo quando os valores não correspondem exatamente—erros de digitação, diferenças de maiúsculas e minúsculas, pontuação ausente, problemas de espaçamento, abreviações e pequenas mudanças na ordem das palavras.
Em vez de construir e ajustar seu próprio pipeline de correspondência difusa, você envia suas strings (ou registros) para a API e recebe de volta correspondências com pontuação de similaridade que você pode confiar. As saídas típicas incluem pares correspondentes (por exemplo, “Apple” ↔ “apple inc.”), pontuações de similaridade e resultados estruturados que são fáceis de integrar em fluxos de trabalho de limpeza de dados, CRMs, trabalhos de ETL e pipelines de análise.
Casos de uso comuns:
Deduplicar listas: encontrar duplicatas dentro de um conjunto de dados (correspondência todos-para-todos) e retornar pares provavelmente duplicados.
Reconciliar contra uma lista mestre: combinar uma lista de entrada com um conjunto canônico (lista-para-mestre).
Higiene de dados de CRM e clientes: limpar leads/contas/empresas onde duplicatas prejudicam relatórios e abordagens.
Resolução de entidades & vinculação de registros: conectar referências à mesma entidade do mundo real em diferentes fontes.
Por que as equipes a utilizam:
Funciona com texto desorganizado imediatamente (sem regras manuais para cada caso extremo)
Pontuações de similaridade para classificação e limiares (você escolhe quão rigoroso ser)
Construído para escalabilidade e automação (projetado para rodar em pipelines, não apenas em scripts pontuais)
Dedupe é um ponto de extremidade de correspondência difusa de todos para todos para encontrar duplicatas em uma única lista de strings. Em vez de comparar apenas duas entradas por chamada de API, você envia um conjunto de dados e ele retorna pares semelhantes e/ou grupos deduplicados em todo o conjunto.
Por que você usaria
Aceleração maciça: tipicamente ~300× a 1.000× mais rápido do que abordagens “regulares” que as pessoas tentam primeiro (comparações par-a-par, classificadores difusos em loop, etc.) uma vez que você ultrapassa listas pequenas.
Limpeza opcional embutida: você pode ativar a limpeza de texto comum (conversão para minúsculas, remoção de pontuação, ordenação de tokens). Isso economiza horas (ou dias) de desenvolvimento + manutenção contínua.
Sufixos de empresa manipulados automaticamente: terminações comuns como “Inc”, “LLC”, “Ltd”, etc. são removidas para que você combine com o nome real.
Referências de desempenho: similarity-api/blog/speed-benchmarks (1M registros em ~7 minutos; mais rápido do que bibliotecas comuns de correspondência difusa em Python).
Limites rígidos no Zyla
Máximo de 1.000 strings por solicitação (aplicado).
Precisa de maior / ilimitado?
Parâmetros (solicitação POST)
data (obrigatório)
Uma string contendo um array JSON de strings.
Exemplo de valor para data:
["Acme Inc","ACME LLC","Globex GmbH"]
Maior = correspondência mais rigorosa (menos pares). Típico: 0.80–0.90 para deduplicação de empresas.
Remove diferenças de pontuação (ex: “A.C.M.E.” vs “ACME”).
Torna a correspondência insensível a maiúsculas e minúsculas.
use_token_sort (opcional, verdadeiro/falso, padrão falso)
Ajuda quando a ordem das palavras muda (ex: “Bank of America” vs “America Bank of”).
output_format (opcional, padrão string_pairs)
Este ponto de extremidade pode retornar dados em vários formatos. Por favor, selecione um dos seguintes:
string_pairs:
[string_A, string_B, similarity]index_pairs:
string_pairs, mas retorna posições em sua lista de entrada em vez das strings.[index_A, index_B, similarity]deduped_strings:
deduped_indices:
deduped_strings, mas retorna os índices dos itens mantidos.membership_map:
[0,0,0,3,3] significa que as linhas 0/1/2 são um grupo (rep=0) e as linhas 3/4 são outro (rep=3).row_annotations:
Retorna um objeto por linha de entrada com uma explicação do que pertence (linha rep + similaridade).
Use quando: você quiser um resultado legível por humanos, por linha, para depuração ou exibição de interface do usuário.
top_k (opcional, inteiro ou "todos", padrão "todos")
todos = encontrar todas as correspondências acima do limite.
Ou um número inteiro (ex: 50) para limitar correspondências por linha (mais rápido, menos resultados).
Exemplo de solicitação em python
import requests, json
API_KEY = "YOUR_ZYLA_KEY"
URL = "API_URL/dedupe"
data_list = ["Microsoft","Micsrosoft","Apple Inc","Apple","Google LLC","9oogle"]
params = {
"data": json.dumps(data_list),
"similarity_threshold": "0.75",
"remove_punctuation": "true",
"to_lowercase": "true",
"use_token_sort": "false",
"output_format": "string_pairs",
"top_k": "all"
}
headers = {"Authorization": f"Bearer {API_KEY}"}
r = requests.post(URL, headers=headers, params=params, timeout=60)
print(r.status_code)
print(r.json())
Deduplicar - Recursos do endpoint
| Objeto | Descrição |
|---|---|
data |
[Obrigatório] JSON array of strings to deduplicate (max 1000). Example: ["a","b","c"] |
similarity_threshold |
Opcional Similarity cutoff from 0 to 1. Higher values are stricter (fewer matches). Default is 0.75. |
remove_punctuation |
Opcional If true, punctuation is removed before matching. Default is true. |
to_lowercase |
Opcional If true, strings are lowercased before matching. Default is true. |
use_token_sort |
Opcional If true, tokens in each string are sorted before matching. Useful when word order varies. Default is false. |
output_format |
Opcional Default: string_pairs Allowed values (and what each means): index_pairs List of matches as [i, j, score] where i and j are indices in the input list. string_pairs List of matches as [string_i, string_j, score] using original strings. deduped_strings List of strings with duplicates removed (one representative per group). deduped_indices List of indices representing the deduplicated set (one representative per group). membership_map Array of length N where entry i is the representative index for the group of data[i]. row_annotations Array of objects (one per input row) with fields: index, original_string, rep_index, rep_string, similarity_to_rep. |
top_k |
Opcional Limits how many neighbors are returned per input string. Use all for full dedupe, or a positive integer for top matches per row. |
{"status":"success","response_data":[["Apple","appl!e",1.0]]}
curl --location --request POST 'https://zylalabs.com/api/11921/instant+results+similarity+api/22655/dedupe?data=["Apple", "appl!e"]' --header 'Authorization: Bearer YOUR_API_KEY'
| Cabeçalho | Descrição |
|---|---|
Authorization
|
[Obrigatório] Deve ser Bearer access_key. Veja "Sua chave de acesso à API" acima quando você estiver inscrito. |
Sem compromisso de longo prazo. Faça upgrade, downgrade ou cancele a qualquer momento.
O endpoint Dedupe retorna um objeto JSON contendo pares de strings correspondentes, pontuações de similaridade e resultados deduplicados opcionais A saída pode ser formatada como pares de strings, pares de índices ou strings deduplicadas, dependendo da configuração especificada
Os campos-chave nos dados de resposta incluem "status" (indicando sucesso ou erro) e "response_data," que contém os resultados formatados de acordo com a solicitação do usuário, como pares correspondentes ou strings deduplicadas
Os usuários podem personalizar solicitações ajustando parâmetros no objeto "config", como "similarity_threshold" para a rigorosidade da correspondência, "remove_punctuation" para pré-processamento e "output_format" para escolher a estrutura de resultado desejada
Os dados de resposta estão organizados como um array de resultados onde cada entrada corresponde a uma correspondência ou string deduplicada Dependendo do formato de saída as entradas podem incluir strings originais índices e pontuações de similaridade facilitando a fácil integração em fluxos de trabalho
Casos de uso típicos incluem a deduplicação de listas de clientes, a reconciliação de registros com uma lista mestra, a limpeza de dados de CRM e a execução de resolução de entidades entre diferentes fontes de dados para garantir a integridade e a precisão dos dados
A precisão dos dados é mantida através de algoritmos avançados de correspondência difusa que levam em conta problemas comuns de dados como erros de digitação e diferenças de maiúsculas e minúsculas A API é projetada para lidar com dados desordenados de forma eficaz garantindo resultados de correspondência confiáveis
Os valores de parâmetro aceitos incluem "similarity_threshold" (0 a 1), "remove_punctuation" (booleano), "to_lowercase" (booleano), "use_token_sort" (booleano) e "top_k" (inteiro ou "todos"). Esses parâmetros permitem que os usuários personalizem o processo de correspondência de acordo com suas necessidades específicas
Se o endpoint Dedupe retornar resultados parciais ou vazios os usuários devem verificar os dados de entrada em busca de problemas de qualidade como duplicatas excessivas ou limites de similaridade muito baixos Ajustar o "similarity_threshold" ou revisar a lista de entrada pode ajudar a melhorar os resultados
Nível de serviço:
100%
Tempo de resposta:
330ms
Nível de serviço:
100%
Tempo de resposta:
3.110ms
Nível de serviço:
83%
Tempo de resposta:
195ms
Nível de serviço:
100%
Tempo de resposta:
910ms
Nível de serviço:
100%
Tempo de resposta:
542ms
Nível de serviço:
100%
Tempo de resposta:
704ms
Nível de serviço:
100%
Tempo de resposta:
3.110ms
Nível de serviço:
100%
Tempo de resposta:
393ms
Nível de serviço:
100%
Tempo de resposta:
308ms
Nível de serviço:
100%
Tempo de resposta:
1.695ms
Nível de serviço:
100%
Tempo de resposta:
20.003ms
Nível de serviço:
100%
Tempo de resposta:
20.003ms
Nível de serviço:
100%
Tempo de resposta:
20.002ms
Nível de serviço:
100%
Tempo de resposta:
20.003ms
Nível de serviço:
100%
Tempo de resposta:
12.158ms
Nível de serviço:
100%
Tempo de resposta:
20.002ms
Nível de serviço:
100%
Tempo de resposta:
20.002ms
Nível de serviço:
100%
Tempo de resposta:
50ms
Nível de serviço:
100%
Tempo de resposta:
415ms
Nível de serviço:
100%
Tempo de resposta:
20.003ms