Documentation de l'API des domaines expirés

Une API REST avec des réponses JSON pour l'intelligence du domaine : métriques SEO (TF, CF, DA, DR, âge, backlinks, trafic, etc.), historique Webback Machine, plus de 400 000 nouveaux domaines chaque jour, plus de 30 sources de données de domaine et plus de 90 filtres pour une recherche précise. Comprend les enchères en direct, les domaines expirés, les rapports complets, les favoris, les contrôles de disponibilité, Karma Metric et les données de profil. Clé Pro Bearer, 60 requêtes par minute.

Essayez gratuitement !
Utilisez des crédits bonus !

API publique Karma.Domains fournit un accès programmatique aux rapports de domaine : enchères, expirations, commandes en souffrance et achat immédiat. Toutes les réponses sont JSON sur HTTPS. URL de base : https://api.karma.domains, préfixe de route : /v1.

Karma.Domains est une plateforme d'intelligence de domaine pour les investisseurs, les équipes SEO et les pipelines d'automatisation :

  • Plus de 400 000 nouveaux domaines par jour dans les flux de découverte et de surveillance (plus de 7 000 000 de domaines au total)
  • Plus de 30 sources de données de domaine au total, dont 27+ sources d'enchères/expirées/en rupture de stock/achat immédiat (GoDaddy, NameJet, DropCatch, Dynadot, GNAME, Namecheap, etc.)
  • Plus de 90 filtres pour une recherche précise sur la qualité du domaine, le référencement, l'historique du contenu et les signaux d'enchères (TF, CF, DA, DR, âge, backlinks, trafic, mots clés, texte d'ancrage, etc.)
  • Couverture TLD et ccTLD (par exemple .com, .net, .org, .biz, .info, .at, .be, .ca, .cc, .cl, .co, .co.nz)
  • Données de référencement et d'autorité des principaux fournisseurs : Ahrefs, Majestic, Moz, SimilarWeb
  • Contenu historique et signaux de changement via Wayback Machine

Schémas de requête et de réponse (champs de filtre, structure du rapport, énumérations de tri) — dans les documents interactifs : Swagger UI ou ReDoc. Cette page est une présentation de l'intégration : authentification, limites, liste des points de terminaison, flux de travail typiques et exemples.

Introduction

L'API publique est destinée aux scripts, aux tableaux de bord internes, aux systèmes CRM et à toute automatisation nécessitant les mêmes données que l'application Web Karma.Domains.

  • **Format :**JSON
  • Version API : 1.0.0
  • Bases de données : auctions, expired, backorder, buynow ; effectuer une recherche simultanée — POST /v1/reports/search (identique au tableau « toutes les bases de données » dans l'interface utilisateur)
  • Documentation de terrain : uniquement dans OpenAPI
  • Disponible uniquement sur le Pro plan and above

Authentification

Chaque demande doit inclure l'en-tête :

Authorization: Bearer YOUR_API_KEY

Comment obtenir une clé API

  1. Forfait Pro (sans Pro, l'API n'est pas disponible).
  2. Profile → Settings : créez ou réinitialisez la clé dans la section Clé API.

La même clé est utilisée pour les MCP server (assistants IA). La limite de requêtes est partagée entre REST et MCP.

Réponses typiques lorsque la clé est fausse

Code Raison
401 En-tête manquant, clé non valide ou faute de frappe dans Bearer
403 La clé est valide, mais le compte n'a pas de Pro actif (Pro plan required for API access)

Envoyez toujours Accept: application/json.

Limitation du débit

  • 60 requêtes par minute par clé API
  • Fenêtre : 60 secondes
  • Le compteur est partagé entre tous les points de terminaison de l'API publique et MCP

Les réponses réussies incluent les en-têtes :

En-tête Description
X-RateLimit-Limit Limite (60)
X-RateLimit-Remaining Demandes laissées dans la fenêtre actuelle
X-RateLimit-Reset Horodatage Unix lorsque la fenêtre est réinitialisée

Lorsque la limite est dépassée : 429 Too Many Requests et en-tête Retry-After (secondes jusqu'à la nouvelle tentative).

Conseils : utilisez page_size jusqu'à 50 pour les listes ; n'interrogez pas POST /search plus souvent que nécessaire — les réponses sont mises en cache (voir « Mise en 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.

Présentation du point de terminaison

Paramètres complets de requête/corps — dans OpenAPI.

Méthode Chemin But
POST /v1/reports/search Rechercher des rapports par corps ReportListFilterSchema, pagination, tri
GET /v1/reports/favorites Liste des rapports favoris de l'utilisateur actuel
POST /v1/reports/favorites Ajouter un rapport aux favoris
DELETE /v1/reports/favorites/{report_type}/{report_id} Supprimer des favoris
GET /v1/reports/by-domain/{domain} Rechercher les ID de rapport par nom de domaine exact
GET /v1/reports/{report_type}/{report_id} Rapport complet par type de base de données et identifiant de rapport
GET /v1/reports/check/expired/{report_id} Vérifiez si le domaine a été abandonné pour un rapport expiré
GET /v1/user Profil utilisateur (PublicUserProfileSchema)
GET /v1/domains/checker/expiry/{domain} Vérification en direct : si le domaine est disponible pour l'enregistrement
GET /v1/domains/checker/karma_metric/{domain} Calcul de métrique de karma en direct via WayBack Machine

Référence des paramètres du modèle

Vous trouverez ci-dessous une carte pratique au niveau des paramètres pour les 3 modèles OpenAPI de base qui définissent la plupart des fonctionnalités de l'API.

ReportListFilterSchema (corps de la demande pour POST /v1/reports/search)

Sémantique de valeur utilisée dans ce schéma :

  • null ou champ omis = pas de filtre.
  • Les champs de requête de chaîne prennent en charge , pour AND et | pour OR lorsque cela est documenté.
  • Les plages de dates sont des tableaux de 2 chaînes : [from, to].
  • La plupart des plages de scores utilisent *_min / *_max inclus.
Paramètre Taper Description
domain chaîne |nul Filtre de sous-chaîne de domaine, insensible à la casse. , = AND (tous les termes doivent correspondre), | = OU (n'importe quel terme). Longueur maximale : 350.
tlds chaîne |nul Liste de TLD séparée par une virgule ou un espace (par exemple, .com .net .org). Longueur maximale : 350.
domain_type chaîne[] |nul Valeurs autorisées : auctions, backorder, buynow, expired. OU logique entre les valeurs sélectionnées.
favorites booléen |nul true = uniquement les favoris, false = exclure les favoris. Nécessite un contexte utilisateur authentifié.
categories chaîne[] |nul Logique OU par catégorie, prend en charge le format Category / Subcategory, correspondance de sous-chaînes insensible à la casse.
languages string Requête de langage avec , (AND) / | (OR), correspondance de sous-chaîne insensible à la casse. Longueur maximale : 350.
keywords chaîne |nul Recherchez dans le contenu Wayback (title, description, h1-h6, etc.). , = ET, | = OU. Longueur maximale : 350.
website_ids string[] Des identifiants comme GA/Metrika pour trouver des domaines du même propriétaire.
domain_length_min / domain_length_max entier |nul Limites de longueur de domaine (documentées comme 1..30).
domain_numbers / domain_hyphens boolean Exiger/exclure les chiffres et les tirets dans les noms de domaine.
report_added_time chaîne[2] |nul Plage de dates : ["YYYY-MM-DD","YYYY-MM-DD"]. Le backend applique automatiquement les limites de début/fin de journée.
karmascore_min / karmascore_max entier |nul Limites du KarmaScore, 0..100.
karmametric_min / karmametric_max entier |nul Limites métriques du karma, 0..100.
brandscore_min / brandscore_max entier |nul Limites du Brandscore, 0..100.
openpagerank_min / openpagerank_max entier |nul Limites ouvertes du PageRank, documentées comme 0..10.
ahrefs_dr_min / ahrefs_dr_max numéro |nul Limites Ahrefs DR, 0..100.
ahrefs_ur_min / ahrefs_ur_max numéro |nul Limites Ahrefs UR, 0..100.
ahrefs_ar_min / ahrefs_ar_max entier |nul Limites du rang Ahrefs (>= 0).
majestic_tf_min / majestic_tf_max entier |nul Limites Majestic TF, 0..100.
majestic_cf_min / majestic_cf_max entier |nul Limites Majestic CF, 0..100.
majestic_bl_min / majestic_bl_max integer Limites majestueuses des backlinks.
majestic_rd_min / majestic_rd_max integer Limites majestueuses des domaines référents.
majestic_topics / majestic_lang string[] / string Filtres de sujets et de langues d'ancrage.
moz_da_min / moz_da_max entier |nul Limites Moz DA, 0..100.
moz_ss_min / moz_ss_max entier |nul Limites du score de spam Moz, 0..100.
moz_bl_min / moz_bl_max integer Les backlinks de Moz limitent.
moz_rd_min / moz_rd_max integer Limites des domaines référents Moz.
moz_bl_url / moz_bl_anchor string Filtres d'URL de backlink / de phrases d'ancrage Moz.
sw_visits_min / sw_visits_max integer SimilarWeb visite les limites.
sw_last_traffic_date chaîne[2] |nul Plage de mois Web similaire : ["YYYY-MM","YYYY-MM"].
sw_country_filters object[] Filtres de partage de pays (country, share_min en option).
sw_ts_direct_min...sw_ts_social_max numéro |nul Limites de partage de canal source de trafic Web similaire, 0..100.
wa_age_min / wa_age_max entier |nul Âge du domaine Wayback en années.
wa_first_snap / wa_last_snap chaîne[2] |nul Plage de dates : ["YYYY-MM-DD","YYYY-MM-DD"] pour les premières/dernières fenêtres d'instantané.
wa_changes_min/max, wa_redirects_min/max, wa_parkings_min/max integer Compteurs d'histoire Wayback.
wa_hieroglyphs, wa_redirects, wa_error403 boolean Indicateurs de qualité du contenu Wayback.
wa_lang_filters object[] Filtres de langue Wayback (language, ratio_min en option).
wa_server_code, wa_server_code_ratio_min/max entier |null / numéro |nul Filtre de code du serveur Wayback (par exemple, 200, 301, 302, 403, 404) + limites de rapport 0..100.
ke_etv_min/max, ke_total_min/max integer Mots-clés partout valeur du trafic / limites des mots-clés.
ke_keyword string Filtre d'expressions Mots-clés partout.
google_has_index, google_has_mentions booléen |nul Sémantique true/false/unset pour exiger un index ou des mentions dans Google SERP.
google_title_index/mentions, google_description_index/mentions string Filtres de titre/expression de description d’extrait de code SERP.
trustpilot_rating_min/max, trustpilot_reviews_count_min/max numéro |null / entier |nul Les limites des notes de Trustpilot (0 à 5) et les avis comptent les limites.
trustpilot_category string Filtre d'expressions de catégorie Trustpilot.
auction_source chaîne[] |nul Noms des sources d'enchères (insensibles à la casse) ou valeur composée `source
auction_end_time, auction_added_time chaîne[2] |nul Plage de dates : ["YYYY-MM-DD","YYYY-MM-DD"].
auction_price_min/max number Limites du prix des enchères.
auction_bids_min/max integer Les enchères comptent des limites.
combine_seo objet |nul CombineSEOFilter multi-fournisseurs : autorité/backlinks/refdomains/traffic/keywords/backlink-url/anchors, avec une logique OU à l'échelle du fournisseur dans chaque ligne et ET entre les lignes.

ReportListResponseSchema (réponse pour POST /search et GET /favorites)

Paramètre Taper Description
report_list ReportItem[] Lignes paginées pour l'affichage du tableau et la génération de listes restreintes.
total_count integer Nombre total d'enregistrements correspondants pour le filtre actuel.

Les champs au niveau de la ligne report_list[] (à partir de ReportItem) incluent :

Paramètre Taper Description
report_id string Identifiant de rapport stable (utilisé pour le rapport complet et les favoris).
report_type string L'un des auctions, expired, backorder, buynow.
domain, domain_tld string Nom de domaine et TLD.
added_at, updated_at integer Horodatages.
processed, demo, is_expired boolean Indicateurs d'état utilisés dans les flux de travail UI/API.
karmascore, karmametric, brandscore integer Mesures de qualité/brandabilité de base.
ahrefs_dr, ahrefs_ur number Métriques récapitulatives Ahrefs.
majestic_tf/cf/bl/rd, moz_da/ss/bl/rd integer Métriques récapitulatives Majestic et Moz.
ke_etv, ke_total integer Valeurs récapitulatives de Keywords Everywhere.
sw_last_traffic, sw_country_share, sw_sources integer/object Résumés du trafic Web similaires.
wa_age, wa_last_snap, wa_changes, wa_langs, wa_server_code integer/array Signaux récapitulatifs Wayback.
google_index, trustpilot_rating, trustpilot_reviews_count boolean/number/integer Champs de résumé Google/Trustpilot.
auctions array/object Résumé des entrées aux enchères si disponible.

ReportFullResponseSchema (réponse pour GET /v1/reports/{report_type}/{report_id})

Paramètre Taper Description
report_id, report_type, domain, domain_tld string Champs d’identité de base.
domain_length, domain_numbers, domain_hyphens integer/boolean Attributs de structure de domaine.
favorite, demo, processed, is_expired boolean Signaler l’état et les indicateurs liés à l’utilisateur.
added_at, updated_at, created_at, checked_at, expire_checked_at integer Horodatages du cycle de vie.
providers_status object Carte d’état de traitement par fournisseur (valeurs de chaîne).
web_archive object Données de Wayback Machine – voir la répartition ci-dessous.
metrics DomainMetrics Métriques imbriquées de référencement/trafic/réputation – voir la répartition ci-dessous.
auctions objet |nul Lots d'enchères regroupés par end_time — voir répartition ci-dessous.

metricsDomainMetrics

La plupart des blocs fournisseurs peuvent être un objet avec des données, false (non chargé) ou null. categories et blacklists peuvent également être [] lorsqu'ils sont vides.

Paramètre Taper Description
openpagerank numéro |entier |booléen |nul Ouvrez le score PageRank (généralement 0..10) lorsqu'il est disponible.
categories CatégorieDonnées[] |booléen |nul Catégories de contenu des fournisseurs de classification.
blacklists Listes noiresDonnées[] |booléen |nul Liste noire de sécurité/réputation.
ahrefs AhrefsData|booléen |nul Métriques du domaine Ahrefs.
majestic MajesticData|booléen |nul Majestic Trust/Citation Flow et profil de backlink.
moz MozData|booléen |nul Autorité Moz, score de spam et détails du backlink.
keywordseverywhere Mots-cléspartoutDonnées|booléen |nul Mots-clés partout estimations de trafic/mots-clés.
similarweb Données Web similaires |booléen |nul Visites Web similaires, sources et partage géographique.
brandscore BrandscoreData|booléen |nul Composants du score de brandabilité.
karma_metric KarmaMetricData|booléen |nul Score Karma Metric de l’histoire de Wayback.
trustpilot TrustpilotData|booléen |nul Statistiques d’évaluation et d’avis de Trustpilot.
google GoogleDonnées|booléen |nul Indexez Google et mentionnez les extraits SERP.
ai_summary chaîne |nul Texte de résumé du domaine généré par l'IA.

AhrefsData

Paramètre Taper Description
domain_rating numéro |nul Ahrefs DR.
url_rating numéro |entier |nul Ahrefs UR.
ahrefs_rank entier |nul Rang Ahrefs (inférieur = plus fort).

MajesticData

Paramètre Taper Description
tf, cf entier |nul Flux de confiance / flux de citations (0..100).
backlinks, refdomains entier |nul Les backlinks et les domaines référents comptent.
primary_topic chaîne |nul Catégorie thématique principale.
topics tableau |nul Liste de distribution des sujets.
anchor_lang tableau |nul Ancrer la distribution du langage du texte.
indexed_urls, referring_ips, referring_subnets entier |nul Compteurs d’index et de diversité de réseau.

MozData

Paramètre Taper Description
moz_domain_authority entier |nul Moz DA.
moz_spam_score entier |nul Score de spam Moz.
page_rank, moz_link_propensity numéro |entier |nul Classement hérité et propension aux liens.
Champs moz_*_to_subdomain entier |nul Compteurs de graphiques de liens Moz (pages/domaines, suivi/nofollow/redirection/supprimé).
moz_da_history_values chaîne |nul Valeurs d'historique DA sérialisées.
backlinks MozBacklink[] |nul Lignes de backlink (domain_source, url_source, domain_target, url_target, anchor_text, harmonic_centrality, last_found_date).

KeywordseverywhereData

Paramètre Taper Description
etv entier |nul Valeur estimée du trafic.
total_keywords entier |nul Total des mots-clés suivis.
data Mot-clé[] |nul Lignes de mots clés (position, etv, keyword).

SimilarWebData

Paramètre Taper Description
estimated_monthly_visits objet |nul Mois → carte des visites.
traffic_sources Sources de trafic |nul Partages de chaîne : Social, Paid Referrals, Mail, Referrals, Search, Direct (rapports 0..1).
top_country_shares PartagePays[] |nul Répartition géographique (Country, CountryCode, Value).
engagments Fiançailles |nul BounceRate, PagePerVisit, Visits, TimeOnSite, Month, Year.
category chaîne |nul Catégorie de site Web similaire.

BrandscoreData

Paramètre Taper Description
pronounceability, memorability, uniqueness, appeal, brandscore integer Composants de brandabilité et score final.

KarmaMetricData

Paramètre Taper Description
karma_metric integer Note finale, 0..100.
components KarmaMetricComponents A_mass, A_cont, A_stab, A_trend (chacun 0..100).
period chaîne |nul Période au format YYYY-MM (ou null en cas d'indisponibilité).

TrustpilotData

Paramètre Taper Description
rating numéro |nul Note, généralement 0..5.
reviews_count entier |nul Nombre d'avis.
category chaîne |nul Catégorie d'entreprise Trustpilot.

GoogleData

Paramètre Taper Description
google_index GoogleItem[] |nul Pages indexées pour site:domain (rank, url, title, description).
google_mentions GoogleItem[] |nul Mentionnez les résultats des recherches de domaines cités.

CategoryData / BlacklistsData

Modèle Champs clés
CategoryData categories[], vendor, info_url
BlacklistsData vendor, info_url, info en option

web_archive (charge utile Wayback Machine)

Objet avec trois blocs principaux : info, ts_summary, history. Dans les réponses du rapport complet, history est renvoyé en premier.

Paramètre Taper Description
info objet |nul Récapitulatif de la couverture des archives pour le domaine.
ts_summary objet |nul Signaux KarmaScore / Wayback agrégés utilisés dans les filtres de table.
history array Chronologie de l'instantané (un objet par capture Wayback).

web_archive.info

Paramètre Taper Description
snap_counter integer Nombre total d'instantanés Wayback comptés.
years_counter integer Nombre d'années d'activité d'archivage (signal d'âge du domaine).
first_ts integer Horodatage Unix du premier instantané.
last_ts integer Horodatage Unix du dernier instantané.
years object Année → carte mensuelle du nombre d’instantanés (données sparkline/calendrier).

web_archive.ts_summary

Paramètre Taper Description
average_karma_score integer KarmaScore moyen, 0..100 (correspond au champ de liste karmascore).
wa_changes integer Nombre de modifications de contenu significatives dans l'historique analysé.
wa_langs array Lignes de répartition des langues : language, pageRatio (0..100).
wa_server_code array Répartition du code HTTP : server_code (par exemple 200, 301, 403), response_ratio (0..100).
wa_tags array Balises de contenu détectées au cours de l'historique.
pattern_shares array Lignes de partage de modèle : factor, description, share.
chart_data array Points de série chronologique : timestamp, karma_score, lang, server_code, tags, detected_patterns.

web_archive.history[] (ligne d'instantané)

Paramètre Taper Description
snaped_at integer Horodatage Unix de l'instantané.
webarchive_link chaîne |nul URL de retour pour cette capture (null lors de la fermeture du snap d'espace réservé).
headers objet |nul Métadonnées HTTP, généralement status_code (200, 301, 302, 403, 404, 429, …), original_url.
screenshot booléen |nul true si la capture d'écran existe (binaire stocké séparément ; récupération via l'API de capture d'écran dans l'interface utilisateur).
content_info objet |nul Contenu de la page analysé (voir ci-dessous).
karma_score objet |nul Score par instantané : score (0..100), detected_patterns, tags (drapeaux porno/crypto/jeu/…).
redirects tableau |nul Rediriger les données de la chaîne lorsqu'elles sont présentes.
website_ids tableau |nul ID de site détectés (name, website, ids[]), par ex. balises d’analyse.
built_with objet |nul Charge utile de détection de la pile technologique (si disponible).

web_archive.history[].content_info

Paramètre Taper Description
lang chaîne |nul Code de langue de la page détecté.
title, description, keywords chaîne |nul Champs de texte méta/page utilisés dans les filtres et l'interface utilisateur.
generator, author, copyright chaîne |nul Champs méta supplémentaires.
h1h6 chaîne[] |nul Textes de titre (recherchables via le filtre keywords).
cloud_words tableau |nul Entrées de nuages ​​de mots (word).
external_links, internal_links tableau |nul Listes de liens sortants/entrants.
rel_canonical, meta_robots chaîne |nul URL canonique et méta des robots.
length_symbols, length_words integer Compteurs de taille de contenu.

auctions (lots de ventes aux enchères)

Présent lorsque le rapport contient des données d'enchères (auctions, et parfois des lignes associées dans d'autres bases). Dans les réponses du rapport complet, les lots sont regroupés par heure de fin :

{
  "1764441900": [
    { "source": "godaddy", "sale_type": "auction", "price": 120, "bids": 3, "...": "..." }
  ]
}
  • Clé d'objet = end_time (secondes Unix).
  • Valeur = tableau d'objets de lot se terminant à ce moment (plusieurs plates-formes peuvent partager une clé).
Paramètre Taper Description
source string Plateforme d'enchères/source du bureau d'enregistrement (par exemple, godaddy, namejet, dynadot, dropcatch, sedo, sav.com). Insensible à la casse dans les filtres.
sale_type string Type d'annonce (par exemple auction, buynow, Closeout, Pre-Release, Dropped).
domain string Nom de domaine du lot.
item_id string Identifiant de lot/liste spécifique à la plateforme.
end_time integer Heure de fin du lot (secondes Unix) ; également utilisé comme clé de regroupement dans le rapport complet.
price number Prix ​​actuel (généralement en USD).
bids entier |nul Nombre d'offres, le cas échéant.
currency string Symbole/code monétaire (par défaut "$").
report_type string Base propriétaire : auctions, backorder ou buynow.
priority integer Poids de tri/priorité interne (par défaut 0).

Astuce de filtre : auction_source dans la recherche accepte une source simple (godaddy) ou une valeur composée source|sale_type (par exemple, godaddy|auction).

Pour les contraintes de champ exactes (règles nullables, valeurs d'énumération, min/max, objets imbriqués), utilisez toujours OpenAPI ou ReDoc.

Paramètre report_type

Pour le rapport complet et les favoris : auctions, expired, backorder, buynow. La valeur all n'est utilisée que dans la logique de recherche (toutes les bases de données), et non comme {report_type} dans le chemin.

Pagination et tri (liste des points de terminaison)

Paramètres de requête :

Paramètre Défaut Description
page 1 Numéro de page
page_size 10 Taille de la page (maximum 50)
sort_by added_at Trier le nom de la colonne (comme dans la table de l'interface utilisateur ; énumération dans OpenAPI)
sort_desc true true — décroissant

Depth limit: page × page_size ≤ 5000. Requests beyond this return 422 validation error.

Domaines dans les URL

Pour {domain} dans le chemin, utilisez percent-encoding (IDN, cyrillique, etc.). Le serveur normalise le nom (punycoded/minuscule).

Flux de travail typiques

1. Recherche → rapport complet

  1. POST https://api.karma.domains/v1/reports/search avec un corps de filtre (voir OpenAPIReportListFilterSchema).
  2. À partir de report_list[], prenez report_id et report_type.
  3. GET https://api.karma.domains/v1/reports/{report_type}/{report_id}.

Les filtres correspondent à filters in the web UI — faciles à comparer avec l'interface utilisateur ; voir OpenAPI pour le schéma de champ.

2. Domaine exact sans longue recherche

  1. GET /v1/reports/by-domain/example.com
  2. Dans la réponse, matches[] — jusqu'à une entrée par base de données où le domaine existe.
  3. Choisissez le report_typeGET /v1/reports/{report_type}/{report_id} nécessaire.

Si matches est vide, le domaine ne figure pas dans les bases de données Karma.

3. Favoris

  • Liste uniquement : GET /v1/reports/favorites
  • Même liste via recherche : POST /v1/reports/search avec "favorites": true dans le corps
  • Ajoutez : POST /v1/reports/favorites avec {"report_id": "...", "report_type": "expired"}
  • Supprimer : DELETE /v1/reports/favorites/expired/{report_id}

4. Abandonner le chèque (rapport expiré)

GET /v1/reports/check/expired/{report_id}identifiant du rapport, pas le nom de domaine.

  • En cas de vérification réussie, met à jour l'enregistrement du rapport sur le serveur
  • is_expired: true — le domaine est probablement disponible pour l'enregistrement (et non « date d'expiration WHOIS dépassée »)
  • Répétez la vérification en direct pour le même rapport — au maximum une fois toutes les 3 heures (règle métier)
  • La réponse HTTP est mise en cache 1 heure pour un GET répété avec le même report_id (voir « Mise en cache »)

5. Vérification du domaine sans rapport dans la base de données

GET /v1/domains/checker/expiry/{domain} — WHOIS/DNS en direct ; ne modifie pas le rapport de la base de données.

  • available: true — probablement enregistrable
  • available: false — pris ou réservé
  • Répéter la demande pour le même domaine dans un délai de ~ 1 heure peut renvoyer une réponse en cache

6. Karma Metric à la volée

GET /v1/domains/checker/karma_metric/{domain} — Karma Metric de WayBack Machine ; ne met pas à jour le rapport. Champs de réponse — OpenAPI (KarmaMetricData). Cache de réponse par domaine — ~1 heure.

En savoir plus sur la métrique Karma in the blog

7. Équilibre et plan

GET /v1/user — e-mail, balance (crédits), indicateurs de plan, données d'abonnement. La clé API n'est pas dans la réponse. Réponse mise en cache ~1 minute par clé — n'interrogez pas plus souvent que nécessaire pour un solde à jour.

Mise en cache

Au niveau de l'API publique, le corps de la réponse HTTP est mis en cache. Certains points de terminaison utilisent l'actualisation anticipée (actualisation en arrière-plan avant l'expiration de la durée de vie : 4 minutes pour 5 minutes de durée de vie, 50 minutes pour 1 heure de durée de vie).

Point de terminaison Durée de vie
POST /v1/reports/search 5 minutes
GET /v1/reports/favorites 5 minutes
POST /v1/reports/favorites aucun
DELETE /v1/reports/favorites/{report_type}/{report_id} aucun
GET /v1/reports/by-domain/{domain} 5 minutes
GET /v1/reports/check/expired/{report_id} 1 heure
GET /v1/reports/{report_type}/{report_id} aucun
GET /v1/user 1 minute
GET /v1/domains/checker/expiry/{domain} 1 heure
GET /v1/domains/checker/karma_metric/{domain} 1 heure

Les favoris POST/DELETE modifient immédiatement les données du serveur, mais une répétition de GET /favorites ou POST /search avec favorites: true peut renvoyer une liste obsolète jusqu'à l'expiration du cache (5 min).

Demander des exemples (curl)

Remplacez YOUR_API_KEY par votre clé de profil. URL de base : https://api.karma.domains.

Recherche expirée avec un filtre

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"]
  }'

Corps du filtre : tous les champs de ReportListFilterSchema dans OpenAPI.

Rapport complet

curl "https://api.karma.domains/v1/reports/expired/507f1f77bcf86cd799439011" \
  -H "Authorization: Bearer YOUR_API_KEY" \
  -H "Accept: application/json"

Recherche par domaine

curl "https://api.karma.domains/v1/reports/by-domain/example.com" \
  -H "Authorization: Bearer YOUR_API_KEY" \
  -H "Accept: application/json"

Ajouter aux favoris

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"
  }'

Vérification de la disponibilité du domaine

curl "https://api.karma.domains/v1/domains/checker/expiry/mybrand.com" \
  -H "Authorization: Bearer YOUR_API_KEY" \
  -H "Accept: application/json"

Métrique du karma

curl "https://api.karma.domains/v1/domains/checker/karma_metric/mybrand.com" \
  -H "Authorization: Bearer YOUR_API_KEY" \
  -H "Accept: application/json"

Cas d'utilisation de l'intégration

Pipeline de sélection expiré la nuit

Cron quotidien : POST /search avec un filtre JSON enregistré (comme un saved filter dans l'interface utilisateur), pagination avec page_size=50, exportez report_id vers votre base de données. Analyse détaillée — Rapport complet GET uniquement pour la liste restreinte.

Surveillance d'une liste de noms avant l'inscription

File d'attente des domaines → GET /domains/checker/expiry/{domain} → branche sur available. Ne nécessite pas de rapport dans Karma.Domains.

Synchronisation des favoris avec le CRM interne

Périodique GET /favorites ; sur l'action de l'utilisateur dans CRM – favoris POST/DELETE. Tenez compte d'environ 5 minutes de cache de liste.

BI / analyse d'entonnoir

Exportez les pages de recherche, regroupez total_count et les métriques de report_list sans ouvrir l'interface utilisateur. Schéma de ligne de liste – ReportListResponseSchema dans OpenAPI.

MCP + scripts sur une seule clé

L'équipe utilise MCP dans Cursor pour la recherche ad hoc et l'API publique pour un ETL stable. Total 60 requêtes par minute : planifiez des lots et des interruptions sur 429.

MCP et API publique

API publique (REST) PCM
Public Développeurs, scripts, ETL Assistants IA (Curseur, Claude)
Interface HTTP + JSON Boîte de dialogue, outils
Documents Cette page + OpenAPI /fr/expired-domains-mcp/
Données Mêmes rapports et bases de données Même
Clé et limite Commun Commun

Pour les nouvelles intégrations de code, commencez par REST. Pour les expériences de chat – MCP.

FAQ

Où se trouve la référence complète du champ de filtre ?

OpenAPI, schéma ReportListFilterSchema. Les significations des champs correspondent à filter help dans l’interface utilisateur.

Quelle est la différence entre available et is_expired ?

Dans le contexte de l'API, cela signifie : le domaine est probablement disponible pour l'enregistrement. available — vérification en direct par nom (/domains/checker/expiry). is_expired — chèque lié à un rapport de base de données expiré (/reports/check/expired/{report_id}).

Pourquoi 403 avec une clé correcte ?

Aucun forfait Pro actif. Vérifiez l'abonnement dans le profil.

Pourquoi la réponse de l'API ne correspond-elle pas à l'interface utilisateur ou à une action qui vient d'être effectuée ?

Cache HTTP de l'API publique — voir le tableau dans « Mise en cache ». Tenez compte du TTL lors de la synchronisation avec l'interface utilisateur.

Quelles valeurs sort_by sont autorisées ?

Liste d'énumérations dans OpenAPI — noms des colonnes du tableau de rapport dans l'application Web.

Ai-je besoin de cette page si OpenAPI existe ?

OpenAPI est la source de vérité pour les types et les champs. Cette page ajoute du contexte : limites, cache, ordre d'appel, cas d'utilisation et pièges qui ne figurent pas dans le schéma.

Y a-t-il un bac à sable ?

Pas de bac à sable séparé ; utilisez un compte Pro et respectez les limites de tarifs. Pour le débogage, GET /user et un POST /search étroit avec un filtre strict fonctionnent bien.

Codes d'erreur

Code Signification
200 Succès
401 Non autorisé (clé)
403 Pas de pro
404 Rapport ou ressource introuvable
422 Erreur de validation du corps/requête (filtre invalide, sort_by, …)
429 Limite de débit dépassée
503 Limiteur de débit temporairement indisponible

Le corps de l'erreur contient généralement detail (chaîne ou tableau d'objets de validation). Exemple:

{
  "detail": "Invalid API key"
}

Liens utiles

Essayez gratuitement !

Utilisez des crédits bonus !

Ouvrir la liste de domaines
+5