API de similaridade é uma API de emparelhamento difuso e deduplicação de alta velocidade projetada para dados desordenados e do mundo real. Ela ajuda a identificar registros quase duplicados e a reconciliar entidades mesmo quando os valores não correspondem exatamente—erros de digitação, diferenças de maiúsculas e minúsculas, pontuação faltante, 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 emparelhamento difuso, você envia suas cadeias (ou registros) para a API e recebe correspondências com pontuações de similaridade nas quais 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, CRM, trabalhos de ETL e pipelines de análise.
Casos de uso comuns:
Deduplicar listas: encontrar duplicados dentro de um conjunto de dados (correspondência de todos para todos) e retornar pares provavelmente duplicados.
Reconciliar contra uma lista mestre: emparelhar uma lista de entrada com um conjunto canônico (lista para mestre).
Higiene de dados de CRM e clientes: limpar leads/contas/empresas onde os duplicados interferem com os relatórios e o contato.
Resolução de entidades e ligação de registros: conectar referências à mesma entidade do mundo real através de fontes.
Por que as equipes usam:
Funciona com texto desordenado desde o início (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 escalar e automatizar (projetado para funcionar em pipelines, não apenas em scripts pontuais)
Dedupe é um endpoint de correspondência difusa um-para-todos para encontrar duplicatas dentro de 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 similares e/ou grupos deduplicados em todo o conjunto.
Por que você usaria
Aceleração massiva: tipicamente ~300× a 1.000× mais rápido do que as abordagens “normais” que as pessoas tentam primeiro (comparações par-a-par, pontuadores difusos em loop, etc.) uma vez que você ultrapassa listas pequenas.
Limpeza opcional embutida: você pode ativar a limpeza comum de texto (minúsculas, remoção de pontuação, ordenação de tokens). Isso economiza horas (ou dias) de desenvolvimento + manutenção contínua.
Sufixos de empresas tratados automaticamente: terminações comuns como “Inc”, “LLC”, “Ltd”, etc. são removidas para que você combine com o nome real.
Benchmarks: 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 capacidade / ilimitado?
Parâmetros (requerimento POST)
data (obrigatório)
Uma string contendo um array JSON de strings.
Exemplo de valor para data:
["Acme Inc","ACME LLC","Globex GmbH"]
Mais alto = correspondência mais rigorosa (menos pares). Típico: 0.80–0.90 para deduplicação de empresas.
Remove diferenças de pontuação (por exemplo, “A.C.M.E.” vs “ACME”).
Torna a correspondência sem considerar maiúsculas e minúsculas.
use_token_sort (opcional, verdadeiro/falso, padrão falso)
Ajuda quando a ordem das palavras muda (por exemplo, “Banco da América” vs “América Banco de”).
output_format (opcional, padrão string_pairs)
Este endpoint pode retornar dados em vários formatos. Por favor, selecione um dos seguintes:
string_pairs:
[string_A, string_B, similaridade]index_pairs:
string_pairs, mas retorna posições em sua lista de entrada em vez das strings.[index_A, index_B, similaridade]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 de a que pertence (linha rep + similaridade).
Use quando: você quiser um resultado legível por humanos, por linha, para depuração ou exibição de IU.
top_k (opcional, inteiro ou "todos", padrão "todos")
todos = encontrar todas as correspondências acima do limite.
Ou um inteiro (por exemplo, 50) para limitar correspondências por linha (mais rápido, menos resultados).
Solicitação de amostra em python
import requests, json
API_KEY = "SUA_CHAVE_ZYLA"
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())
Dedupe - 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/11895/similarity+api/22607/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 teste gratuito inclui até 50 requisições.
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 principais nos dados de resposta incluem "status" (indicando sucesso ou erro) e "response_data", que contém os resultados formatados de acordo com o pedido do usuário, como pares correspondentes ou strings deduplicadas
Os usuários podem personalizar as solicitações ajustando os parâmetros no objeto "config" como "similarity_threshold" para a rigidez da correspondência "remove_punctuation" para pré-processamento e "output_format" para escolher a estrutura de resultado desejada
Os dados da 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 mestre, a limpeza de dados de CRM e a realização de resolução de entidades em 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 aproximada que levam em conta problemas comuns de dados como erros de digitação e diferenças de maiúsculas e minúsculas A API foi 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 quanto a problemas de qualidade como duplicatas excessivas ou limiares de similaridade muito baixos Ajustar o "similarity_threshold" ou revisar a lista de entrada pode ajudar a melhorar os resultados
O Zyla API Hub é como uma grande loja de APIs, onde você pode encontrar milhares delas em um só lugar. Também oferecemos suporte dedicado e monitoramento em tempo real de todas as APIs. Após se cadastrar, você pode escolher quais APIs deseja usar. Lembre-se apenas de que cada API precisa de sua própria assinatura. Mas se você se inscrever em várias, usará a mesma chave para todas elas, facilitando as coisas para você.
Os preços são listados em USD (Dólar Americano), EUR (Euro), CAD (Dólar Canadense), AUD (Dólar Australiano) e GBP (Libra Esterlina). Aceitamos todos os principais cartões de débito e crédito. Nosso sistema de pagamento usa a mais recente tecnologia de segurança e é operado pela Stripe, uma das empresas de pagamento mais confiáveis do mundo. Se tiver problemas para pagar com cartão, entre em contato conosco em [email protected]
Além disso, se você já tiver uma assinatura ativa em qualquer uma dessas moedas (USD, EUR, CAD, AUD, GBP), essa moeda será mantida para assinaturas subsequentes. Você pode alterar a moeda a qualquer momento, desde que não tenha assinaturas ativas.
A moeda local exibida na página de preços é baseada no país do seu endereço IP e é fornecida apenas como referência. Os preços reais são em USD (Dólar Americano). Ao efetuar o pagamento, a cobrança aparecerá no extrato do seu cartão em USD, mesmo que você veja o valor equivalente em sua moeda local em nosso site. Isso significa que você não pode pagar diretamente com sua moeda local.
Ocasionalmente, o banco pode recusar a cobrança devido às configurações de proteção contra fraude. Sugerimos contatar seu banco inicialmente para verificar se estão bloqueando nossas cobranças. Você também pode acessar o Portal de Cobrança e alterar o cartão associado para realizar o pagamento. Se isso não funcionar e precisar de mais ajuda, entre em contato com nossa equipe em [email protected]
Os preços são determinados por uma assinatura recorrente mensal ou anual, dependendo do plano escolhido.
As chamadas de API são descontadas do seu plano com base nas requisições bem-sucedidas. Cada plano possui um número específico de chamadas por mês. Apenas chamadas bem-sucedidas, indicadas por uma resposta com Status 200, serão contabilizadas, garantindo que falhas não afetem sua cota mensal.
O Zyla API Hub funciona com um sistema de assinatura mensal recorrente. Seu ciclo de cobrança começa no dia em que você compra um dos planos pagos e será renovado no mesmo dia do mês seguinte. Portanto, cancele sua assinatura com antecedência se quiser evitar cobranças futuras.
Para fazer upgrade do seu plano atual, acesse a página de preços da API e selecione o novo plano desejado. O upgrade é instantâneo, permitindo aproveitar imediatamente os recursos do novo plano. Observe que as chamadas restantes do plano anterior não serão transferidas; você será cobrado pelo valor integral do novo plano.
Para verificar quantas chamadas de API restam para o mês atual, consulte o campo 'X-Zyla-API-Calls-Monthly-Remaining' no cabeçalho da resposta. Por exemplo, se seu plano permite 1.000 requisições por mês e você usou 100, este campo no cabeçalho da resposta indicará 900 chamadas restantes.
Para ver o número máximo de requisições de API que seu plano permite, verifique o cabeçalho de resposta 'X-Zyla-RateLimit-Limit'. Por exemplo, se seu plano inclui 1.000 requisições por mês, este cabeçalho exibirá 1.000.
O cabeçalho 'X-Zyla-RateLimit-Reset' mostra o número de segundos até seu limite de taxa ser redefinido. Isso informa quando sua contagem de requisições começará do zero. Por exemplo, se exibir 3.600, significa que restam 3.600 segundos até o limite ser redefinido.
Sim, você pode cancelar seu plano a qualquer momento acessando sua conta e selecionando a opção de cancelamento na página de Cobrança. Observe que upgrades, downgrades e cancelamentos têm efeito imediato. Além disso, após o cancelamento, você não terá mais acesso ao serviço, mesmo que ainda tenha chamadas restantes na sua cota.
Você pode nos contatar via chat para receber assistência imediata. Estamos online de 8h às 17h (EST). Se nos contatar após esse horário, retornaremos o mais rápido possível. Além disso, você pode enviar um e-mail para [email protected]
Para oferecer a oportunidade de experimentar nossas APIs sem compromisso, oferecemos um teste gratuito de 7 dias que permite realizar até 50 chamadas de API sem custo. Esse teste pode ser usado apenas uma vez; recomendamos aplicá-lo à API que mais interessa. Embora a maioria das APIs ofereça teste gratuito, algumas podem não oferecer. O teste termina após 7 dias ou quando você atingir 50 requisições, o que ocorrer primeiro. Se atingir o limite, será necessário "Iniciar seu plano pago" para continuar. Você encontra esse botão no perfil em Assinatura -> Escolha a API -> aba Preços. Se não cancelar até o 7º dia, sua assinatura será cobrada automaticamente, liberando todas as chamadas do plano.
Após 7 dias, será cobrado o valor total do plano ao qual você estava inscrito durante o teste. Portanto, é importante cancelar antes do término do período. Solicitações de reembolso por esquecimento de cancelamento não são aceitas.
Ao assinar um teste gratuito de API, você pode fazer até 50 chamadas. Se desejar fazer chamadas adicionais além desse limite, a API solicitará que você "Inicie seu plano pago". Você encontra o botão no perfil em Assinatura -> Escolha a API -> aba Preços.
As Ordens de Pagamento são processadas entre os dias 20 e 30 de cada mês. Se você enviar sua solicitação antes do dia 20, seu pagamento será processado dentro desse período.
Nível de serviço:
100%
Tempo de resposta:
449ms
Nível de serviço:
98%
Tempo de resposta:
823ms
Nível de serviço:
100%
Tempo de resposta:
964ms
Nível de serviço:
83%
Tempo de resposta:
1.132ms
Nível de serviço:
97%
Tempo de resposta:
3.714ms
Nível de serviço:
100%
Tempo de resposta:
542ms
Nível de serviço:
100%
Tempo de resposta:
1.158ms
Nível de serviço:
98%
Tempo de resposta:
823ms
Nível de serviço:
100%
Tempo de resposta:
717ms
Nível de serviço:
98%
Tempo de resposta:
823ms