API pública Karma.Domains fornece acesso programático a relatórios de domínio: leilões, expirados, pedidos em espera e compre agora. Todas as respostas são JSON sobre HTTPS. URL base: https://api.karma.domains, prefixo de rota: /v1.
Karma.Domains é uma plataforma de inteligência de domínio para investidores, equipes de SEO e pipelines de automação:
- Mais de 400.000 novos domínios diariamente em fluxos de descoberta e monitoramento (mais de 7.000.000 domínios no total)
- Mais de 30 fontes de dados de domínio no geral, incluindo 27+ fontes de leilão/expirado/pedido pendente/compre agora (GoDaddy, NameJet, DropCatch, Dynadot, GNAME, Namecheap etc.)
- Mais de 90 filtros para pesquisa precisa em qualidade de domínio, SEO, histórico de conteúdo e sinais de leilão (TF, CF, DA, DR, idade, backlinks, tráfego, palavras-chave, texto âncora, etc.)
- Cobertura de TLDs e ccTLDs (por exemplo,
.com,.net,.org,.biz,.info,.at,.be,.ca,.cc,.cl,.co,.co.nz) - Dados de SEO e autoridade dos principais fornecedores: Ahrefs, Majestic, Moz, SimilarWeb
- Conteúdo histórico e sinais de mudança via Wayback Machine
Esquemas de solicitação e resposta (campos de filtro, estrutura de relatório, classificação de enums) — nos documentos interativos: Swagger UI ou ReDoc. Esta página é uma visão geral da integração: autenticação, limites, lista de endpoints, fluxos de trabalho típicos e exemplos.
- Introdução
- Autenticação
- Limitação de taxa
- Daily row quota
- Visão geral do terminal
- Referência de parâmetros do modelo
ReportListFilterSchema(corpo da solicitação paraPOST /v1/reports/search)ReportListResponseSchema(resposta paraPOST /searcheGET /favorites)ReportFullResponseSchema(resposta paraGET /v1/reports/{report_type}/{report_id})- Parâmetro
report_type - Paginação e classificação (listar endpoints)
- Domínios em URLs
- Fluxos de trabalho típicos
- Cache
- Solicitar exemplos (curl)
- Casos de uso de integração
- MCP e API pública
- Perguntas frequentes
- Onde está a referência completa do campo de filtro?
- Qual é a diferença entre
availableeis_expired? - Por que 403 com uma chave correta?
- Por que a resposta da API não corresponde à IU ou a uma ação recém-executada?
- Quais valores
sort_bysão permitidos? - Preciso desta página se o OpenAPI existir?
- Existe uma caixa de areia?
- Códigos de erro
- Links úteis
Introdução
A API pública é para scripts, painéis internos, sistemas CRM e qualquer automação que precise dos mesmos dados que o aplicativo da web Karma.Domains.
- Formato: JSON
- Versão da API: 1.0.0
- Bancos de dados:
auctions,expired,backorder,buynow; pesquise tudo de uma vez —POST /v1/reports/search(igual à tabela “todos os bancos de dados” na IU) - Documentação de campo: somente em OpenAPI
- Disponível apenas no Pro plan and above
Autenticação
Cada solicitação deve incluir o cabeçalho:
Authorization: Bearer YOUR_API_KEY
Como obter uma chave API
- Plano Pro (sem o Pro, a API não está disponível).
- Profile → Settings — crie ou redefina a chave na seção Chave de API.
A mesma chave é usada para MCP server (assistentes de IA). O limite de solicitações é compartilhado entre REST e MCP.
Respostas típicas quando a chave está errada
| Código | Razão |
|---|---|
| 401 | Cabeçalho ausente, chave inválida ou erro de digitação em Bearer |
| 403 | A chave é válida, mas a conta não possui Pro ativo (Pro plan required for API access) |
Sempre envie Accept: application/json.
Limitação de taxa
- 60 solicitações por minuto por chave de API
- Janela: 60 segundos
- O contador é compartilhado entre todos os endpoints da API pública e MCP
As respostas bem-sucedidas incluem cabeçalhos:
| Cabeçalho | Descrição |
|---|---|
X-RateLimit-Limit | Limite (60) |
X-RateLimit-Remaining | Solicitações restantes na janela atual |
X-RateLimit-Reset | Carimbo de data e hora Unix quando a janela é redefinida |
Quando o limite é excedido: 429 Too Many Requests e Retry-After cabeçalho (segundos até nova tentativa).
Dicas: use page_size até 50 para listas; não pesquise POST /search com mais frequência do que o necessário — as respostas são armazenadas em cache (consulte “Cache”).
Daily row quota
- 50,000 list rows per day per account (API key / signed-in user)
- Reset: UTC midnight
- Counter is shared across Public API list endpoints, MCP list tools, web UI tables, and CSV export
Each list request charges page_size rows (the requested page size, not total_count).
Successful list responses include headers:
| Header | Description |
|---|---|
X-Quota-Limit | Daily limit (50000) |
X-Quota-Remaining | Rows left today |
X-Quota-Reset | Unix timestamp when the daily quota resets |
When the quota is exceeded: 429 Too Many Requests and Retry-After (seconds until reset).
Pagination depth: for a single search/filter, page × page_size must not exceed 5000 (e.g. with page_size=50, max page is 100). This limits deep scraping of one result set; the daily quota caps total volume across all queries.
Visão geral do terminal
Parâmetros completos de consulta/corpo — em OpenAPI.
| Método | Caminho | Propósito |
|---|---|---|
POST | /v1/reports/search | Pesquisar relatórios por corpo ReportListFilterSchema, paginação, classificação |
GET | /v1/reports/favorites | Lista de relatórios favoritos do usuário atual |
POST | /v1/reports/favorites | Adicionar um relatório aos favoritos |
DELETE | /v1/reports/favorites/{report_type}/{report_id} | Remover dos favoritos |
GET | /v1/reports/by-domain/{domain} | Encontre IDs de relatório por nome de domínio exato |
GET | /v1/reports/{report_type}/{report_id} | Relatório completo por tipo de banco de dados e ID do relatório |
GET | /v1/reports/check/expired/{report_id} | Verifique se o domínio caiu para um relatório expirado |
GET | /v1/user | Perfil de usuário (PublicUserProfileSchema) |
GET | /v1/domains/checker/expiry/{domain} | Verificação ao vivo: se o domínio está disponível para registro |
GET | /v1/domains/checker/karma_metric/{domain} | Cálculo da métrica de Karma ao vivo via WayBack Machine |
Referência de parâmetros do modelo
Abaixo está um mapa prático em nível de parâmetro para os três modelos principais do OpenAPI que definem a maioria dos recursos da API.
ReportListFilterSchema (corpo da solicitação para POST /v1/reports/search)
Semântica de valor usada neste esquema:
nullou campo omitido = sem filtro.- Os campos de consulta de string suportam
,para AND e|para OR quando documentado. - Os intervalos de datas são matrizes de 2 strings:
[from, to]. - A maioria dos intervalos de pontuação usa
*_min/*_maxinclusivos.
| Parâmetro | Tipo | Descrição |
|---|---|---|
domain | string|nulo | Filtro de substring de domínio, sem distinção entre maiúsculas e minúsculas. , = AND (todos os termos devem corresponder), | = OR (qualquer termo). Comprimento máximo: 350. |
tlds | string|nulo | Lista de TLDs separada por vírgula ou espaço (por exemplo, .com .net .org). Comprimento máximo: 350. |
domain_type | string[]|nulo | Valores permitidos: auctions, backorder, buynow, expired. Lógica OR entre valores selecionados. |
favorites | booleano |nulo | true = apenas favoritos, false = exclui favoritos. Requer contexto de usuário autenticado. |
categories | string[]|nulo | Lógica OR por categoria, suporta formato Category / Subcategory, correspondência de substring sem distinção entre maiúsculas e minúsculas. |
languages | string | Consulta de idioma com , (AND) / | (OR), correspondência de substring sem distinção entre maiúsculas e minúsculas. Comprimento máximo: 350. |
keywords | string|nulo | Pesquise no conteúdo do Wayback (title, description, h1-h6, etc.). , = E, | = OU. Comprimento máximo: 350. |
website_ids | string[] | IDs como GA/Metrika para encontrar domínios do mesmo proprietário. |
domain_length_min / domain_length_max | inteiro |nulo | Limites de comprimento de domínio (documentados como 1..30). |
domain_numbers / domain_hyphens | boolean | Exigir/excluir dígitos e hífens em nomes de domínio. |
report_added_time | string[2] |nulo | Intervalo de datas: ["YYYY-MM-DD","YYYY-MM-DD"]. O back-end aplica limites de dia de início/término automaticamente. |
karmascore_min / karmascore_max | inteiro |nulo | Limites do KarmaScore, 0..100. |
karmametric_min / karmametric_max | inteiro |nulo | Limites da métrica de Karma, 0..100. |
brandscore_min / brandscore_max | inteiro |nulo | Limites de Brandscore, 0..100. |
openpagerank_min / openpagerank_max | inteiro |nulo | Limites abertos do PageRank, documentados como 0..10. |
ahrefs_dr_min / ahrefs_dr_max | número |nulo | Limites de DR do Ahrefs, 0..100. |
ahrefs_ur_min / ahrefs_ur_max | número |nulo | Limites UR do Ahrefs, 0..100. |
ahrefs_ar_min / ahrefs_ar_max | inteiro |nulo | Limites de classificação do Ahrefs (>= 0). |
majestic_tf_min / majestic_tf_max | inteiro |nulo | Limites Majestosos do TF, 0..100. |
majestic_cf_min / majestic_cf_max | inteiro |nulo | Limites Majestic CF, 0..100. |
majestic_bl_min / majestic_bl_max | integer | Limites de backlinks majestosos. |
majestic_rd_min / majestic_rd_max | integer | Limites de domínios de referência majestosos. |
majestic_topics / majestic_lang | string[] / string | Filtros de tópico e idioma âncora. |
moz_da_min / moz_da_max | inteiro |nulo | Limites Moz DA, 0..100. |
moz_ss_min / moz_ss_max | inteiro |nulo | Limites de pontuação de spam do Moz, 0..100. |
moz_bl_min / moz_bl_max | integer | Limites de backlinks do Moz. |
moz_rd_min / moz_rd_max | integer | Limites de domínios de referência Moz. |
moz_bl_url / moz_bl_anchor | string | Filtros de URL de backlink / frase âncora do Moz. |
sw_visits_min / sw_visits_max | integer | Limites de visitas SimilarWeb. |
sw_last_traffic_date | string[2] |nulo | Intervalo de meses da Web semelhante: ["YYYY-MM","YYYY-MM"]. |
sw_country_filters | object[] | Filtros de compartilhamento de país (country, opcional share_min). |
sw_ts_direct_min...sw_ts_social_max | número |nulo | Limites de compartilhamento do canal de origem de tráfego SimilarWeb, 0..100. |
wa_age_min / wa_age_max | inteiro |nulo | Idade do domínio Wayback em anos. |
wa_first_snap / wa_last_snap | string[2] |nulo | Intervalo de datas: ["YYYY-MM-DD","YYYY-MM-DD"] para a primeira/última janela de snapshot. |
wa_changes_min/max, wa_redirects_min/max, wa_parkings_min/max | integer | Contadores de histórico Wayback. |
wa_hieroglyphs, wa_redirects, wa_error403 | boolean | Sinalizadores de qualidade de conteúdo Wayback. |
wa_lang_filters | object[] | Filtros de linguagem Wayback (language, opcional ratio_min). |
wa_server_code, wa_server_code_ratio_min/max | inteiro |null / número |nulo | Filtro de código do servidor Wayback (por exemplo, 200, 301, 302, 403, 404) + limites de proporção 0..100. |
ke_etv_min/max, ke_total_min/max | integer | Palavras-chave em todos os lugares limites de valor de tráfego/palavras-chave. |
ke_keyword | string | Filtro de frase Keywords Everywhere. |
google_has_index, google_has_mentions | booleano |nulo | true/false/unset semântica para exigir índice ou menções no Google SERP. |
google_title_index/mentions, google_description_index/mentions | string | Filtros de título/frase de descrição do snippet SERP. |
trustpilot_rating_min/max, trustpilot_reviews_count_min/max | número |null / inteiro |nulo | Limites de classificação da Trustpilot (0..5) e limites de contagem de avaliações. |
trustpilot_category | string | Filtro de frase de categoria Trustpilot. |
auction_source | string[]|nulo | Nomes de fontes de leilão (sem distinção entre maiúsculas e minúsculas) ou valor composto `fonte |
auction_end_time, auction_added_time | string[2] |nulo | Intervalo de datas: ["YYYY-MM-DD","YYYY-MM-DD"]. |
auction_price_min/max | number | Limites de preço do leilão. |
auction_bids_min/max | integer | Limites de contagem de lances de leilão. |
combine_seo | objeto |nulo | CombineSEOFilter de vários fornecedores: autoridade/backlinks/refdomains/traffic/keywords/backlink-url/anchors, com lógica OR no escopo do fornecedor em cada linha e AND entre as linhas. |
ReportListResponseSchema (resposta para POST /search e GET /favorites)
| Parâmetro | Tipo | Descrição |
|---|---|---|
report_list | ReportItem[] | Linhas paginadas para visualização de tabela e geração de listas restritas. |
total_count | integer | Número total de registros correspondentes para o filtro atual. |
Os campos de nível de linha report_list[] (de ReportItem) incluem:
| Parâmetro | Tipo | Descrição |
|---|---|---|
report_id | string | Identificador de relatório estável (usado para relatório completo e favoritos). |
report_type | string | Um de auctions, expired, backorder, buynow. |
domain, domain_tld | string | Nome de domínio e TLD. |
added_at, updated_at | integer | Carimbos de data e hora. |
processed, demo, is_expired | boolean | Sinalizadores de estado usados em fluxos de trabalho de UI/API. |
karmascore, karmametric, brandscore | integer | Métricas principais de qualidade/brandabilidade. |
ahrefs_dr, ahrefs_ur | number | Métricas de resumo do Ahrefs. |
majestic_tf/cf/bl/rd, moz_da/ss/bl/rd | integer | Métricas de resumo do Majestic e Moz. |
ke_etv, ke_total | integer | Valores de resumo de palavras-chave em todos os lugares. |
sw_last_traffic, sw_country_share, sw_sources | integer/object | Resumos de tráfego da Web semelhantes. |
wa_age, wa_last_snap, wa_changes, wa_langs, wa_server_code | integer/array | Sinais de resumo do Wayback. |
google_index, trustpilot_rating, trustpilot_reviews_count | boolean/number/integer | Campos de resumo do Google/Trustpilot. |
auctions | array/object | Resumo das entradas do leilão, se disponível. |
ReportFullResponseSchema (resposta para GET /v1/reports/{report_type}/{report_id})
| Parâmetro | Tipo | Descrição |
|---|---|---|
report_id, report_type, domain, domain_tld | string | Campos de identidade principais. |
domain_length, domain_numbers, domain_hyphens | integer/boolean | Atributos de estrutura de domínio. |
favorite, demo, processed, is_expired | boolean | Reportar sinalizadores de estado e relacionados ao usuário. |
added_at, updated_at, created_at, checked_at, expire_checked_at | integer | Carimbos de data e hora do ciclo de vida. |
providers_status | object | Mapa de status de processamento por provedor (valores de string). |
web_archive | object | Dados da Wayback Machine — veja o detalhamento abaixo. |
metrics | DomainMetrics | Métricas aninhadas de SEO/tráfego/reputação — veja o detalhamento abaixo. |
auctions | objeto |nulo | Lotes do leilão agrupados por end_time — veja detalhamento abaixo. |
metrics → DomainMetrics
A maioria dos blocos provedores pode ser um objeto com dados, false (não carregado) ou null. categories e blacklists também podem ser [] quando vazios.
| Parâmetro | Tipo | Descrição |
|---|---|---|
openpagerank | número |inteiro |booleano |nulo | Pontuação do PageRank aberto (normalmente 0 a 10) quando disponível. |
categories | CategoriaDados[] |booleano |nulo | Categorias de conteúdo de provedores de classificação. |
blacklists | Dados de listas negras[] |booleano |nulo | Acertos na lista negra de segurança/reputação. |
ahrefs | AhrefsData|booleano |nulo | Métricas de domínio Ahrefs. |
majestic | MajesticData|booleano |nulo | Majestic Trust/Citation Flow e perfil de backlink. |
moz | MozData|booleano |nulo | Autoridade Moz, pontuação de spam e detalhes de backlink. |
keywordseverywhere | Palavras-chave em todos os lugaresDados |booleano |nulo | Keywords Everywhere estimativas de tráfego/palavras-chave. |
similarweb | DadosWebSimilar|booleano |nulo | Visitas, fontes e compartilhamento geográfico semelhantes na Web. |
brandscore | BrandscoreData|booleano |nulo | Componentes de pontuação de brandability. |
karma_metric | KarmaMetricData|booleano |nulo | Pontuação Karma Metric da história do Wayback. |
trustpilot | TrustpilotData|booleano |nulo | Classificação da Trustpilot e estatísticas de revisão. |
google | GoogleDados |booleano |nulo | Indexe o Google e mencione trechos de SERP. |
ai_summary | string|nulo | Texto de resumo do domínio gerado por IA. |
AhrefsData
| Parâmetro | Tipo | Descrição |
|---|---|---|
domain_rating | número |nulo | Ahrefs DR. |
url_rating | número |inteiro |nulo | Ahrefs UR. |
ahrefs_rank | inteiro |nulo | Classificação Ahrefs (menor = mais forte). |
MajesticData
| Parâmetro | Tipo | Descrição |
|---|---|---|
tf, cf | inteiro |nulo | Fluxo de confiança / Fluxo de citação (0..100). |
backlinks, refdomains | inteiro |nulo | Contagens de backlinks e domínios de referência. |
primary_topic | string|nulo | Categoria temática principal. |
topics | matriz |nulo | Lista de distribuição de tópicos. |
anchor_lang | matriz |nulo | Distribuição do idioma do texto âncora. |
indexed_urls, referring_ips, referring_subnets | inteiro |nulo | Contadores de índice e diversidade de rede. |
MozData
| Parâmetro | Tipo | Descrição |
|---|---|---|
moz_domain_authority | inteiro |nulo | Moz DA. |
moz_spam_score | inteiro |nulo | Pontuação de spam do Moz. |
page_rank, moz_link_propensity | número |inteiro |nulo | Classificação legada e propensão de link. |
Campos moz_*_to_subdomain | inteiro |nulo | Contadores gráficos de links Moz (páginas/domínios, follow/nofollow/redirect/deleted). |
moz_da_history_values | string|nulo | Valores de histórico do DA serializado. |
backlinks | MozBacklink[] |nulo | Linhas de backlink (domain_source, url_source, domain_target, url_target, anchor_text, harmonic_centrality, last_found_date). |
KeywordseverywhereData
| Parâmetro | Tipo | Descrição |
|---|---|---|
etv | inteiro |nulo | Valor estimado do tráfego. |
total_keywords | inteiro |nulo | Total de palavras-chave rastreadas. |
data | Palavra-chaveItem[] |nulo | Linhas de palavras-chave (position, etv, keyword). |
SimilarWebData
| Parâmetro | Tipo | Descrição |
|---|---|---|
estimated_monthly_visits | objeto |nulo | Mês → mapa de visitas. |
traffic_sources | Fontes de tráfego|nulo | Compartilhamentos de canais: Social, Paid Referrals, Mail, Referrals, Search, Direct (proporções 0..1). |
top_country_shares | CountryShare[] |nulo | Distribuição geográfica (Country, CountryCode, Value). |
engagments | Engajamentos |nulo | BounceRate, PagePerVisit, Visits, TimeOnSite, Month, Year. |
category | string|nulo | Categoria de site semelhante. |
BrandscoreData
| Parâmetro | Tipo | Descrição |
|---|---|---|
pronounceability, memorability, uniqueness, appeal, brandscore | integer | Componentes de brandability e pontuação final. |
KarmaMetricData
| Parâmetro | Tipo | Descrição |
|---|---|---|
karma_metric | integer | Pontuação final, 0..100. |
components | KarmaMetricComponents | A_mass, A_cont, A_stab, A_trend (cada 0..100). |
period | string|nulo | Período no formato YYYY-MM (ou null quando indisponível). |
TrustpilotData
| Parâmetro | Tipo | Descrição |
|---|---|---|
rating | número |nulo | Classificação, normalmente 0..5. |
reviews_count | inteiro |nulo | Número de comentários. |
category | string|nulo | Categoria de negócios Trustpilot. |
GoogleData
| Parâmetro | Tipo | Descrição |
|---|---|---|
google_index | GoogleItem[] |nulo | Páginas indexadas para site:domain (rank, url, title, description). |
google_mentions | GoogleItem[] |nulo | Mencione os resultados de pesquisas de domínios citados. |
CategoryData / BlacklistsData
| Modelo | Campos-chave |
|---|---|
CategoryData | categories[], vendor, info_url |
BlacklistsData | vendor, info_url, opcional info |
web_archive (carga útil da máquina Wayback)
Objeto com três blocos principais: info, ts_summary, history. Nas respostas do relatório completo, history é retornado como o mais novo primeiro.
| Parâmetro | Tipo | Descrição |
|---|---|---|
info | objeto |nulo | Resumo da cobertura do arquivo para o domínio. |
ts_summary | objeto |nulo | Sinais agregados de KarmaScore/Wayback usados em filtros de tabela. |
history | array | Linha do tempo do instantâneo (um objeto por captura Wayback). |
web_archive.info
| Parâmetro | Tipo | Descrição |
|---|---|---|
snap_counter | integer | Número total de instantâneos Wayback contados. |
years_counter | integer | Número de anos com atividade de arquivo (sinal de idade do domínio). |
first_ts | integer | Carimbo de data/hora Unix do primeiro instantâneo. |
last_ts | integer | Carimbo de data e hora Unix do instantâneo mais recente. |
years | object | Ano → mapa mensal de contagem de instantâneos (dados de minigráfico/calendário). |
web_archive.ts_summary
| Parâmetro | Tipo | Descrição |
|---|---|---|
average_karma_score | integer | KarmaScore médio, 0..100 (mapeia para o campo de lista karmascore). |
wa_changes | integer | Número de alterações significativas de conteúdo no histórico verificado. |
wa_langs | array | Linhas de distribuição de idiomas: language, pageRatio (0..100). |
wa_server_code | array | Distribuição de código HTTP: server_code (por exemplo, 200, 301, 403), response_ratio (0..100). |
wa_tags | array | Tags de conteúdo detectadas ao longo do histórico. |
pattern_shares | array | Linhas de compartilhamento de padrão: factor, description, share. |
chart_data | array | Pontos da série temporal: timestamp, karma_score, lang, server_code, tags, detected_patterns. |
web_archive.history[] (linha de instantâneo)
| Parâmetro | Tipo | Descrição |
|---|---|---|
snaped_at | integer | Carimbo de data e hora Unix do instantâneo. |
webarchive_link | string|nulo | URL de retorno para esta captura (null ao fechar o snap do espaço reservado). |
headers | objeto |nulo | Metadados HTTP, geralmente status_code (200, 301, 302, 403, 404, 429,…), original_url. |
screenshot | booleano |nulo | true se a captura de tela existir (binário armazenado separadamente; busca por meio da API de captura de tela na interface do usuário). |
content_info | objeto |nulo | Conteúdo da página analisado (veja abaixo). |
karma_score | objeto |nulo | Pontuação por instantâneo: score (0..100), detected_patterns, tags (sinalizações de pornografia/criptografia/jogos/…). |
redirects | matriz |nulo | Redirecione os dados da cadeia quando presentes. |
website_ids | matriz |nulo | IDs de site detectados (name, website, ids[]), por exemplo. tags de análise. |
built_with | objeto |nulo | Carga útil de detecção de pilha de tecnologia (quando disponível). |
web_archive.history[].content_info
| Parâmetro | Tipo | Descrição |
|---|---|---|
lang | string|nulo | Código de idioma da página detectado. |
title, description, keywords | string|nulo | Campos de texto de meta/página usados em filtros e UI. |
generator, author, copyright | string|nulo | Metacampos adicionais. |
h1… h6 | string[]|nulo | Textos de cabeçalho (pesquisáveis via filtro keywords). |
cloud_words | matriz |nulo | Entradas da nuvem de palavras (word). |
external_links, internal_links | matriz |nulo | Listas de links de saída/entrada. |
rel_canonical, meta_robots | string|nulo | URL canônico e meta de robôs. |
length_symbols, length_words | integer | Contadores de tamanho de conteúdo. |
auctions (lotes de leilão)
Presente quando o relatório possui dados de leilão (auctions, e às vezes linhas relacionadas em outras bases). Nas respostas do relatório completo, os lotes são agrupados por horário de término:
{
"1764441900": [
{ "source": "godaddy", "sale_type": "auction", "price": 120, "bids": 3, "...": "..." }
]
}
- Chave do objeto =
end_time(segundos Unix). - Valor = array de objetos de lote que terminam naquele momento (várias plataformas podem compartilhar uma chave).
| Parâmetro | Tipo | Descrição |
|---|---|---|
source | string | Fonte de plataforma/registrador de leilão (por exemplo, godaddy, namejet, dynadot, dropcatch, sedo, sav.com). Não diferencia maiúsculas de minúsculas em filtros. |
sale_type | string | Tipo de listagem (por exemplo, auction, buynow, Closeout, Pre-Release, Dropped). |
domain | string | Nome de domínio do lote. |
item_id | string | ID de lote/listagem específico da plataforma. |
end_time | integer | Hora de término do lote (segundos Unix); também usado como chave de agrupamento no relatório completo. |
price | number | Preço atual (normalmente em USD). |
bids | inteiro |nulo | Contagem de lances quando aplicável. |
currency | string | Símbolo/código de moeda (padrão "$"). |
report_type | string | Base proprietária: auctions, backorder ou buynow. |
priority | integer | Classificação interna/peso de prioridade (padrão 0). |
Dica de filtro: auction_source na pesquisa aceita fonte simples (godaddy) ou valor composto source|sale_type (por exemplo, godaddy|auction).
Para restrições de campo exatas (regras anuláveis, valores enum, mínimo/máximo, objetos aninhados), sempre use OpenAPI ou ReDoc.
Parâmetro report_type
Para relatório completo e favoritos: auctions, expired, backorder, buynow. O valor all é usado apenas na lógica de pesquisa (todos os bancos de dados), não como {report_type} no caminho.
Paginação e classificação (listar endpoints)
Parâmetros de consulta:
| Parâmetro | Padrão | Descrição |
|---|---|---|
page | 1 | Número da página |
page_size | 10 | Tamanho da página (máx. 50) |
sort_by | added_at | Classifique o nome da coluna (como na tabela da UI; enum no OpenAPI) |
sort_desc | true | true — descendente |
Depth limit: page × page_size ≤ 5000. Requests beyond this return 422 validation error.
Domínios em URLs
Para {domain} no caminho, use codificação percentual (IDN, cirílico, etc.). O servidor normaliza o nome (punycoded/minúsculas).
Fluxos de trabalho típicos
1. Pesquisa → relatório completo
POST https://api.karma.domains/v1/reports/searchcom corpo de filtro (ver OpenAPI →ReportListFilterSchema).- De
report_list[], peguereport_idereport_type. GET https://api.karma.domains/v1/reports/{report_type}/{report_id}.
Os filtros correspondem a filters in the web UI — fácil de comparar com a UI; consulte OpenAPI para o esquema de campo.
2. Domínio exato sem uma longa pesquisa
GET /v1/reports/by-domain/example.com- Na resposta,
matches[]— até uma entrada por banco de dados onde existe o domínio. - Escolha o
report_type→GET /v1/reports/{report_type}/{report_id}necessário.
Se matches estiver vazio — o domínio não está nos bancos de dados Karma.
3. Favoritos
- Apenas lista:
GET /v1/reports/favorites - Mesma lista via pesquisa:
POST /v1/reports/searchcom"favorites": trueno corpo - Adicione:
POST /v1/reports/favoritescom{"report_id": "...", "report_type": "expired"} - Remover:
DELETE /v1/reports/favorites/expired/{report_id}
4. Descartar verificação (relatório expirado)
GET /v1/reports/check/expired/{report_id} — id do relatório, não nome de domínio.
- Após verificação bem-sucedida, atualiza o registro do relatório no servidor
is_expired: true— o domínio provavelmente está disponível para registro (não “data de expiração do WHOIS passada”)- Repita a verificação ao vivo para o mesmo relatório — no máximo uma vez a cada 3 horas (regra de negócios)
- A resposta HTTP é armazenada em cache 1 hora para GET repetido com o mesmo
report_id(consulte “Cache”)
5. Verificação de domínio sem relatório no banco de dados
GET /v1/domains/checker/expiry/{domain} — WHOIS/DNS ativo; não altera o relatório do banco de dados.
available: true— provavelmente registrávelavailable: false— tomado ou reservado- A repetição da solicitação para o mesmo domínio dentro de ~1 hora pode retornar uma resposta em cache
6. Métrica de Karma em tempo real
GET /v1/domains/checker/karma_metric/{domain} — Métrica de Karma da WayBack Machine; não atualiza o relatório. Campos de resposta — OpenAPI (KarmaMetricData). Cache de resposta por domínio — ~1 hora.
Leia mais sobre a Métrica Karma in the blog
7. Equilibre e planeje
GET /v1/user — email, balance (créditos), sinalizadores de plano, dados de assinatura. A chave da API não está na resposta. Resposta armazenada em cache ~1 minuto por chave — não faça pesquisas com mais frequência do que o necessário para obter um equilíbrio atualizado.
Cache
No nível da API pública, o corpo da resposta HTTP é armazenado em cache. Alguns endpoints usam atualização antecipada (atualização em segundo plano antes que o TTL expire: 4 minutos para TTL de 5 minutos, 50 minutos para TTL de 1 hora).
| Ponto final | TTL |
|---|---|
POST /v1/reports/search | 5 minutos |
GET /v1/reports/favorites | 5 minutos |
POST /v1/reports/favorites | nenhum |
DELETE /v1/reports/favorites/{report_type}/{report_id} | nenhum |
GET /v1/reports/by-domain/{domain} | 5 minutos |
GET /v1/reports/check/expired/{report_id} | 1 hora |
GET /v1/reports/{report_type}/{report_id} | nenhum |
GET /v1/user | 1 minuto |
GET /v1/domains/checker/expiry/{domain} | 1 hora |
GET /v1/domains/checker/karma_metric/{domain} | 1 hora |
Os favoritos de POST/DELETE alteram os dados do servidor imediatamente, mas uma repetição de GET /favorites ou POST /search com favorites: true pode retornar uma lista obsoleta até que o cache expire (5 min).
Solicitar exemplos (curl)
Substitua YOUR_API_KEY pela sua chave de perfil. URL base: https://api.karma.domains.
A pesquisa expirou com um filtro
curl -X POST "https://api.karma.domains/v1/reports/search?page=1&page_size=25&sort_by=added_at&sort_desc=true" \
-H "Authorization: Bearer YOUR_API_KEY" \
-H "Content-Type: application/json" \
-H "Accept: application/json" \
-d '{
"karmascore_min": 60,
"domain_type": ["expired"]
}'
Corpo do filtro — quaisquer campos de ReportListFilterSchema em OpenAPI.
Relatório completo
curl "https://api.karma.domains/v1/reports/expired/507f1f77bcf86cd799439011" \
-H "Authorization: Bearer YOUR_API_KEY" \
-H "Accept: application/json"
Pesquisa por domínio
curl "https://api.karma.domains/v1/reports/by-domain/example.com" \
-H "Authorization: Bearer YOUR_API_KEY" \
-H "Accept: application/json"
Adicionar aos favoritos
curl -X POST "https://api.karma.domains/v1/reports/favorites" \
-H "Authorization: Bearer YOUR_API_KEY" \
-H "Content-Type: application/json" \
-H "Accept: application/json" \
-d '{
"report_id": "507f1f77bcf86cd799439011",
"report_type": "expired"
}'
Verificação de disponibilidade de domínio
curl "https://api.karma.domains/v1/domains/checker/expiry/mybrand.com" \
-H "Authorization: Bearer YOUR_API_KEY" \
-H "Accept: application/json"
Métrica de Carma
curl "https://api.karma.domains/v1/domains/checker/karma_metric/mybrand.com" \
-H "Authorization: Bearer YOUR_API_KEY" \
-H "Accept: application/json"
Casos de uso de integração
Pipeline de seleção expirado todas as noites
Cron diário: POST /search com um filtro JSON salvo (como um saved filter na UI), paginação com page_size=50, exporte report_id para seu banco de dados. Análise detalhada — GET relatório completo apenas para a lista restrita.
Monitorando uma lista de nomes antes do registro
Fila de domínios → GET /domains/checker/expiry/{domain} → ramificação em available. Não requer relatório no Karma.Domains.
Sincronizando favoritos com CRM interno
Periódico GET /favorites; na ação do usuário no CRM — favoritos POST/DELETE. Considere o cache de lista de aproximadamente 5 minutos.
Análise de BI/funil
Exporte páginas de pesquisa, agregue total_count e métricas de report_list sem abrir a IU. Esquema de linha de lista — ReportListResponseSchema em OpenAPI.
Scripts MCP + em uma chave
A equipe usa MCP no Cursor para pesquisa ad-hoc e API pública para ETL estável. Total 60 solicitações por minuto — planeje lotes e espera em 429.
MCP e API pública
| API pública (REST) | PCM | |
|---|---|---|
| Público | Desenvolvedores, scripts, ETL | Assistentes de IA (Cursor, Claude) |
| Interface | HTTP+JSON | Diálogo, ferramentas |
| Documentos | Esta página + OpenAPI | /pt/expired-domains-mcp/ |
| Dados | Mesmos relatórios e bancos de dados | Mesmo |
| Chave e limite | Compartilhado | Compartilhado |
Para novas integrações de código, comece com REST. Para experimentos de bate-papo – MCP.
Perguntas frequentes
Onde está a referência completa do campo de filtro?
OpenAPI, esquema ReportListFilterSchema. Os significados dos campos correspondem a filter help na IU.
Qual é a diferença entre available e is_expired?
Ambos no contexto da API significam: o domínio provavelmente está disponível para registro. available — verificação ao vivo por nome (/domains/checker/expiry). is_expired — cheque vinculado a um relatório de banco de dados expirado (/reports/check/expired/{report_id}).
Por que 403 com uma chave correta?
Nenhum plano Pro ativo. Verifique a assinatura no perfil.
Por que a resposta da API não corresponde à IU ou a uma ação recém-executada?
Cache HTTP da API pública — veja a tabela em “Cache”. Considere o TTL ao sincronizar com a IU.
Quais valores sort_by são permitidos?
Lista de enum em OpenAPI — nomes de colunas da tabela de relatório no aplicativo web.
Preciso desta página se o OpenAPI existir?
OpenAPI é a fonte da verdade para tipos e campos. Esta página adiciona contexto: limites, cache, ordem de chamada, casos de uso e armadilhas que não estão no esquema.
Existe uma caixa de areia?
Nenhuma caixa de areia separada; use uma conta Pro e respeite os limites de taxas. Para depuração, GET /user e um POST /search estreito com um filtro estrito funcionam bem.
Códigos de erro
| Código | Significado |
|---|---|
| 200 | Sucesso |
| 401 | Não autorizado (chave) |
| 403 | Não profissional |
| 404 | Relatório ou recurso não encontrado |
| 422 | Erro de validação de corpo/consulta (filtro inválido, sort_by,…) |
| 429 | Limite de taxa excedido |
| 503 | Limitador de taxa temporariamente indisponível |
O corpo do erro geralmente possui detail (string ou matriz de objetos de validação). Exemplo:
{
"detail": "Invalid API key"
}
Links úteis
- OpenAPI (Swagger): https://api.karma.domains/docs
- ReDoc: https://api.karma.domains/redoc
- MCP for AI
- Chave de API: Profile → Settings
- UI filter help