Openbare API Karma.Domains biedt programmatische toegang tot domeinrapporten: veilingen, verlopen, nabestellingen en nu kopen. Alle reacties zijn JSON via HTTPS. Basis-URL: https://api.karma.domains, routevoorvoegsel: /v1.
Karma.Domains is een domeinintelligentieplatform voor investeerders, SEO-teams en automatiseringspijplijnen:
- 400.000+ nieuwe domeinen per dag in ontdekkings- en monitoringstromen (7.000.000+ domeinen in totaal)
- 30+ domeingegevensbronnen in totaal, inclusief 27+ bronnen voor veiling/verlopen/nalevering/nu kopen (GoDaddy, NameJet, DropCatch, Dynadot, GNAME, Namecheap, etc.)
- 90+ filters voor nauwkeurig zoeken op domeinkwaliteit, SEO, inhoudsgeschiedenis en veilingsignalen (TF, CF, DA, DR, Leeftijd, Backlinks, Verkeer, Trefwoorden, Ankertekst, enz.)
- TLD- en ccTLD-dekking (bijvoorbeeld
.com,.net,.org,.biz,.info,.at,.be,.ca,.cc,.cl,.co,.co.nz) - SEO- en autoriteitsgegevens van grote leveranciers: Ahrefs, Majestic, Moz, SimilarWeb
- Historische inhoud en veranderingssignalen via Wayback Machine
Verzoek- en antwoordschema's (filtervelden, rapportstructuur, sorteeropsommingen) — in de interactieve documenten: Swagger UI of ReDoc. Deze pagina is een integratieoverzicht: authenticatie, limieten, eindpuntenlijst, typische workflows en voorbeelden.
- Invoering
- Authenticatie
- Tariefbeperking
- Daily row quota
- Eindpuntoverzicht
- Referentie modelparameters
ReportListFilterSchema(aanvraagtekst voorPOST /v1/reports/search)ReportListResponseSchema(antwoord voorPOST /searchenGET /favorites)ReportFullResponseSchema(antwoord voorGET /v1/reports/{report_type}/{report_id})report_type-parameter- Paginering en sortering (lijsteindpunten)
- Domeinen in URL's
- Typische werkstromen
- Caching
- Voorbeelden aanvragen (krul)
- Gebruiksscenario's voor integratie
- MCP en openbare API
- Veelgestelde vragen
- Waar is de volledige filterveldreferentie?
- Wat is het verschil tussen
availableenis_expired? - Waarom 403 met de juiste sleutel?
- Waarom komt het API-antwoord niet overeen met de gebruikersinterface of met een zojuist uitgevoerde actie?
- Welke
sort_by-waarden zijn toegestaan? - Heb ik deze pagina nodig als OpenAPI bestaat?
- Is er een zandbak?
- Foutcodes
- Nuttige links
Invoering
De Public API is bedoeld voor scripts, interne dashboards, CRM-systemen en elke automatisering die dezelfde gegevens nodig heeft als de Karma.Domains-webapp.
- Formaat: JSON
- API-versie: 1.0.0
- Databases:
auctions,expired,backorder,buynow; alles tegelijk doorzoeken —POST /v1/reports/search(hetzelfde als de tabel “alle databases” in de gebruikersinterface) - Velddocumentatie: alleen in OpenAPI
- Alleen beschikbaar op de Pro plan and above
Authenticatie
Elk verzoek moet de header bevatten:
Authorization: Bearer YOUR_API_KEY
Hoe u een API-sleutel kunt verkrijgen
- Pro-abonnement (zonder Pro is de API niet beschikbaar).
- Profile → Settings — maak of reset de sleutel in de sectie API-sleutel.
Dezelfde sleutel wordt gebruikt voor de MCP server (AI-assistenten). De verzoeklimiet wordt gedeeld tussen REST en MCP.
Typische reacties als de sleutel verkeerd is
| Code | Reden |
|---|---|
| 401 | Ontbrekende koptekst, ongeldige sleutel of typefout in Bearer |
| 403 | Sleutel is geldig, maar het account heeft geen actieve Pro (Pro plan required for API access) |
Stuur altijd Accept: application/json.
Tariefbeperking
- 60 verzoeken per minuut per API-sleutel
- Venster: 60 seconden
- De teller wordt gedeeld via alle openbare API-eindpunten en MCP
Succesvolle reacties bevatten headers:
| Koptekst | Beschrijving |
|---|---|
X-RateLimit-Limit | Limiet (60) |
X-RateLimit-Remaining | Verzoeken achtergelaten in het huidige venster |
X-RateLimit-Reset | Unix-tijdstempel wanneer het venster opnieuw wordt ingesteld |
Wanneer de limiet wordt overschreden: 429 Too Many Requests en Retry-After header (seconden tot nieuwe poging).
Tips: gebruik page_size tot 50 voor lijsten; peil POST /search niet vaker dan nodig is – de antwoorden worden in de cache opgeslagen (zie “Caching”).
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.
Eindpuntoverzicht
Volledige query-/bodyparameters — in OpenAPI.
| Methode | Pad | Doel |
|---|---|---|
POST | /v1/reports/search | Zoek in rapporten op ReportListFilterSchema hoofdtekst, paginering en sortering |
GET | /v1/reports/favorites | Lijst met favoriete rapporten van de huidige gebruiker |
POST | /v1/reports/favorites | Voeg een rapport toe aan favorieten |
DELETE | /v1/reports/favorites/{report_type}/{report_id} | Verwijderen uit favorieten |
GET | /v1/reports/by-domain/{domain} | Zoek rapport-ID's op exacte domeinnaam |
GET | /v1/reports/{report_type}/{report_id} | Volledig rapport per databasetype en rapport-ID |
GET | /v1/reports/check/expired/{report_id} | Controleer of het domein is verwijderd voor een verlopen melding |
GET | /v1/user | Gebruikersprofiel (PublicUserProfileSchema) |
GET | /v1/domains/checker/expiry/{domain} | Live check: of het domein beschikbaar is om te registreren |
GET | /v1/domains/checker/karma_metric/{domain} | Live Karma-metrische berekening via WayBack Machine |
Referentie modelparameters
Hieronder vindt u een praktische kaart op parameterniveau voor de drie belangrijkste OpenAPI-modellen die de meeste API-mogelijkheden definiëren.
ReportListFilterSchema (aanvraagtekst voor POST /v1/reports/search)
Waardesemantiek die in dit schema wordt gebruikt:
nullof weggelaten veld = geen filter.- Tekenreeksqueryvelden ondersteunen
,voor AND en|voor OR waar gedocumenteerd. - Datumbereiken zijn arrays van twee tekenreeksen:
[from, to]. - De meeste scorebereiken gebruiken inclusief
*_min/*_max.
| Parameter | Type | Beschrijving |
|---|---|---|
domain | tekenreeks|nul | Domeinsubstringfilter, niet hoofdlettergevoelig. , = AND (alle termen moeten overeenkomen), | = OF (elke term). Maximale lengte: 350. |
tlds | tekenreeks|nul | TLD-lijst gescheiden door een komma of spatie (bijvoorbeeld .com .net .org). Maximale lengte: 350. |
domain_type | tekenreeks[] |nul | Toegestane waarden: auctions, backorder, buynow, expired. OF-logica tussen geselecteerde waarden. |
favorites | booleaanse |nul | true = alleen favorieten, false = sluit favorieten uit. Vereist geverifieerde gebruikerscontext. |
categories | tekenreeks[] |nul | OR-logica per categorie, ondersteunt het Category / Subcategory-formaat, hoofdletterongevoelige subtekenreeksmatching. |
languages | string | Taalquery met , (AND) / | (OR), hoofdletterongevoelige subtekenreeksmatching. Maximale lengte: 350. |
keywords | tekenreeks|nul | Zoek in Wayback-inhoud (title, description, h1-h6, etc.). , = EN, | = OF. Maximale lengte: 350. |
website_ids | string[] | ID's zoals GA/Metrika om domeinen van dezelfde eigenaar te vinden. |
domain_length_min / domain_length_max | geheel getal |nul | Grenzen van de domeinlengte (gedocumenteerd als 1..30). |
domain_numbers / domain_hyphens | boolean | Cijfers en koppeltekens in domeinnamen vereisen/uitsluiten. |
report_added_time | tekenreeks[2] |nul | Datumbereik: ["YYYY-MM-DD","YYYY-MM-DD"]. Backend past automatisch de grenzen van de begin-/einddag toe. |
karmascore_min / karmascore_max | geheel getal |nul | KarmaScore-grenzen, 0..100. |
karmametric_min / karmametric_max | geheel getal |nul | Karmametrische grenzen, 0..100. |
brandscore_min / brandscore_max | geheel getal |nul | Brandscore-grenzen, 0..100. |
openpagerank_min / openpagerank_max | geheel getal |nul | Open PageRank-grenzen, gedocumenteerd als 0..10. |
ahrefs_dr_min / ahrefs_dr_max | nummer |nul | Ahrefs DR-grenzen, 0..100. |
ahrefs_ur_min / ahrefs_ur_max | nummer |nul | Ahrefs UR-grenzen, 0..100. |
ahrefs_ar_min / ahrefs_ar_max | geheel getal |nul | Ahrefs-ranggrenzen (>= 0). |
majestic_tf_min / majestic_tf_max | geheel getal |nul | Majestueuze TF-grenzen, 0..100. |
majestic_cf_min / majestic_cf_max | geheel getal |nul | Majestueuze CF-grenzen, 0..100. |
majestic_bl_min / majestic_bl_max | integer | Majestueuze backlinks grenzen. |
majestic_rd_min / majestic_rd_max | integer | Majestueuze verwijzende domeingrenzen. |
majestic_topics / majestic_lang | string[] / string | Onderwerp- en ankertaalfilters. |
moz_da_min / moz_da_max | geheel getal |nul | Moz DA-grenzen, 0..100. |
moz_ss_min / moz_ss_max | geheel getal |nul | Moz-spamscoregrenzen, 0..100. |
moz_bl_min / moz_bl_max | integer | Moz-backlinks grenzen. |
moz_rd_min / moz_rd_max | integer | Grenzen van Moz-verwijzende domeinen. |
moz_bl_url / moz_bl_anchor | string | Moz-backlink-URL/ankerzinfilters. |
sw_visits_min / sw_visits_max | integer | Vergelijkbare grenzen voor webbezoeken. |
sw_last_traffic_date | tekenreeks[2] |nul | Vergelijkbaar webmaandbereik: ["YYYY-MM","YYYY-MM"]. |
sw_country_filters | object[] | Landaandeelfilters (country, optioneel share_min). |
sw_ts_direct_min...sw_ts_social_max | nummer |nul | Gelijkaardige grenzen voor kanaalaandeel van webverkeersbron, 0..100. |
wa_age_min / wa_age_max | geheel getal |nul | Wayback-domeinleeftijd in jaren. |
wa_first_snap / wa_last_snap | tekenreeks[2] |nul | Datumbereik: ["YYYY-MM-DD","YYYY-MM-DD"] voor eerste/laatste momentopnamevensters. |
wa_changes_min/max, wa_redirects_min/max, wa_parkings_min/max | integer | Wayback-geschiedenistellers. |
wa_hieroglyphs, wa_redirects, wa_error403 | boolean | Wayback-vlaggen voor inhoudskwaliteit. |
wa_lang_filters | object[] | Wayback-taalfilters (language, optioneel ratio_min). |
wa_server_code, wa_server_code_ratio_min/max | geheel getal |null / getal |nul | Wayback-servercodefilter (bijv. 200, 301, 302, 403, 404) + verhoudingsgrenzen 0..100. |
ke_etv_min/max, ke_total_min/max | integer | Trefwoorden overal verkeerswaarde / trefwoordgrenzen. |
ke_keyword | string | Zoekwoorden Overal frasefilter. |
google_has_index, google_has_mentions | booleaanse |nul | true/false/unset semantiek voor het vereisen van index of vermeldingen in Google SERP. |
google_title_index/mentions, google_description_index/mentions | string | Filters voor titel/beschrijving van SERP-fragmenten. |
trustpilot_rating_min/max, trustpilot_reviews_count_min/max | nummer |null / geheel getal |nul | Trustpilot-beoordelingsgrenzen (0..5) en grenzen voor het aantal beoordelingen. |
trustpilot_category | string | Trustpilot-categoriefilter. |
auction_source | tekenreeks[] |nul | Namen van veilingbronnen (niet hoofdlettergevoelig) of samengestelde waarde `source |
auction_end_time, auction_added_time | tekenreeks[2] |nul | Datumbereik: ["YYYY-MM-DD","YYYY-MM-DD"]. |
auction_price_min/max | number | Grenzen van de veilingprijs. |
auction_bids_min/max | integer | Veilingbiedingen tellen grenzen. |
combine_seo | object|nul | Cross-vendor CombineSEOFilter: autoriteit/backlinks/refdomains/traffic/keywords/backlink-url/anchors, met op de leverancier gerichte OR-logica in elke rij en AND tussen de rijen. |
ReportListResponseSchema (antwoord voor POST /search en GET /favorites)
| Parameter | Type | Beschrijving |
|---|---|---|
report_list | ReportItem[] | Gepagineerde rijen voor tabelweergave en het genereren van shortlists. |
total_count | integer | Totaal aantal overeenkomende records voor het huidige filter. |
report_list[] velden op rijniveau (van ReportItem) omvatten:
| Parameter | Type | Beschrijving |
|---|---|---|
report_id | string | Stabiele rapport-ID (gebruikt voor volledig rapport en favorieten). |
report_type | string | Een van auctions, expired, backorder, buynow. |
domain, domain_tld | string | Domeinnaam en TLD. |
added_at, updated_at | integer | Tijdstempels. |
processed, demo, is_expired | boolean | Staatsvlaggen die worden gebruikt in UI/API-workflows. |
karmascore, karmametric, brandscore | integer | Kernstatistieken voor kwaliteit/merkbaarheid. |
ahrefs_dr, ahrefs_ur | number | Samenvattende statistieken van Ahrefs. |
majestic_tf/cf/bl/rd, moz_da/ss/bl/rd | integer | Samenvattende statistieken van Majestic en Moz. |
ke_etv, ke_total | integer | Trefwoorden Overal samenvattende waarden. |
sw_last_traffic, sw_country_share, sw_sources | integer/object | Soortgelijke samenvattingen van webverkeer. |
wa_age, wa_last_snap, wa_changes, wa_langs, wa_server_code | integer/array | Wayback-samenvattingssignalen. |
google_index, trustpilot_rating, trustpilot_reviews_count | boolean/number/integer | Overzichtsvelden van Google/Trustpilot. |
auctions | array/object | Samenvatting van veilinginzendingen, indien beschikbaar. |
ReportFullResponseSchema (antwoord voor GET /v1/reports/{report_type}/{report_id})
| Parameter | Type | Beschrijving |
|---|---|---|
report_id, report_type, domain, domain_tld | string | Kernidentiteitsvelden. |
domain_length, domain_numbers, domain_hyphens | integer/boolean | Kenmerken van de domeinstructuur. |
favorite, demo, processed, is_expired | boolean | Rapporteer status en gebruikersgerelateerde vlaggen. |
added_at, updated_at, created_at, checked_at, expire_checked_at | integer | Tijdstempels van de levenscyclus. |
providers_status | object | Statuskaart voor verwerking per provider (tekenreekswaarden). |
web_archive | object | Wayback Machine-gegevens — zie onderstaande uitsplitsing. |
metrics | DomainMetrics | Geneste statistieken voor SEO/verkeer/reputatie: zie het overzicht hieronder. |
auctions | object|nul | Veilingkavels gegroepeerd op end_time — zie onderstaande uitsplitsing. |
metrics → DomainMetrics
De meeste providerblokken kunnen een object met gegevens zijn, false (niet geladen) of null. categories en blacklists kunnen ook [] zijn als ze leeg zijn.
| Parameter | Type | Beschrijving |
|---|---|---|
openpagerank | nummer |geheel getal |booleaanse |nul | Open PageRank-score (meestal 0..10) indien beschikbaar. |
categories | Categoriegegevens[] |booleaanse |nul | Inhoudscategorieën van classificatieproviders. |
blacklists | Zwartelijstengegevens[] |booleaanse |nul | Zwarte lijsthits op het gebied van beveiliging/reputatie. |
ahrefs | AhrefsData |booleaanse |nul | Ahrefs-domeinstatistieken. |
majestic | MajesticData|booleaanse |nul | Majestic Trust/Citation Flow en backlinkprofiel. |
moz | MozData|booleaanse |nul | Moz-autoriteit, spamscore en backlinkdetails. |
keywordseverywhere | TrefwoordenoveralGegevens|booleaanse |nul | Keywords Everywhere verkeer/zoekwoordschattingen. |
similarweb | VergelijkbareWebData|booleaanse |nul | Vergelijkbare webbezoeken, bronnen en geoshare. |
brandscore | MerkscoreData |booleaanse |nul | Componenten voor de merkbaarheidsscore. |
karma_metric | KarmaMetrische gegevens |booleaanse |nul | Karma Metric-score uit de Wayback-geschiedenis. |
trustpilot | TrustpilotData|booleaanse |nul | Trustpilot-beoordeling en recensiestatistieken. |
google | GoogleData|booleaanse |nul | Google indexeert en vermeldt SERP-fragmenten. |
ai_summary | tekenreeks|nul | AI-gegenereerde domeinsamenvattingstekst. |
AhrefsData
| Parameter | Type | Beschrijving |
|---|---|---|
domain_rating | nummer |nul | Ahrefs DR. |
url_rating | nummer |geheel getal |nul | Ahrefs UR. |
ahrefs_rank | geheel getal |nul | Ahrefs-rang (lager = sterker). |
MajesticData
| Parameter | Type | Beschrijving |
|---|---|---|
tf, cf | geheel getal |nul | Vertrouwensstroom/citatiestroom (0..100). |
backlinks, refdomains | geheel getal |nul | Backlinks en verwijzende domeinen tellen mee. |
primary_topic | tekenreeks|nul | Belangrijkste actuele categorie. |
topics | array|nul | Distributielijst van onderwerpen. |
anchor_lang | array|nul | Ankerteksttaaldistributie. |
indexed_urls, referring_ips, referring_subnets | geheel getal |nul | Tellers voor index- en netwerkdiversiteit. |
MozData
| Parameter | Type | Beschrijving |
|---|---|---|
moz_domain_authority | geheel getal |nul | Moz DA. |
moz_spam_score | geheel getal |nul | Moz-spamscore. |
page_rank, moz_link_propensity | nummer |geheel getal |nul | Legacy rang- en linkneigingen. |
moz_*_to_subdomain velden | geheel getal |nul | Moz-linkgrafiekentellers (pagina's/domeinen, volgen/nofollow/omleiden/verwijderd). |
moz_da_history_values | tekenreeks|nul | Geserialiseerde DA-geschiedeniswaarden. |
backlinks | MozBacklink[] |nul | Backlink-rijen (domain_source, url_source, domain_target, url_target, anchor_text, harmonic_centrality, last_found_date). |
KeywordseverywhereData
| Parameter | Type | Beschrijving |
|---|---|---|
etv | geheel getal |nul | Geschatte verkeerswaarde. |
total_keywords | geheel getal |nul | Totaal bijgehouden zoekwoorden. |
data | TrefwoordItem[] |nul | Zoekwoordrijen (position, etv, keyword). |
SimilarWebData
| Parameter | Type | Beschrijving |
|---|---|---|
estimated_monthly_visits | object|nul | Maand → bezoekenkaart. |
traffic_sources | Verkeersbronnen |nul | Kanaalaandelen: Social, Paid Referrals, Mail, Referrals, Search, Direct (verhoudingen van 0..1). |
top_country_shares | LandDeel[] |nul | Geodistributie (Country, CountryCode, Value). |
engagments | Verlovingen |nul | BounceRate, PagePerVisit, Visits, TimeOnSite, Month, Year. |
category | tekenreeks|nul | Soortgelijke websitecategorie. |
BrandscoreData
| Parameter | Type | Beschrijving |
|---|---|---|
pronounceability, memorability, uniqueness, appeal, brandscore | integer | Brandability-componenten en eindscore. |
KarmaMetricData
| Parameter | Type | Beschrijving |
|---|---|---|
karma_metric | integer | Eindscore, 0..100. |
components | KarmaMetricComponents | A_mass, A_cont, A_stab, A_trend (elk 0..100). |
period | tekenreeks|nul | Periode in YYYY-MM-formaat (of null indien niet beschikbaar). |
TrustpilotData
| Parameter | Type | Beschrijving |
|---|---|---|
rating | nummer |nul | Beoordeling, doorgaans 0,5. |
reviews_count | geheel getal |nul | Aantal beoordelingen. |
category | tekenreeks|nul | Trustpilot-bedrijfscategorie. |
GoogleData
| Parameter | Type | Beschrijving |
|---|---|---|
google_index | GoogleItem[] |nul | Geïndexeerde pagina's voor site:domain (rank, url, title, description). |
google_mentions | GoogleItem[] |nul | Vermeld resultaten voor zoekopdrachten naar geciteerde domeinen. |
CategoryData / BlacklistsData
| Model | Sleutelvelden |
|---|---|
CategoryData | categories[], vendor, info_url |
BlacklistsData | vendor, info_url, optioneel info |
web_archive (Wayback Machine-payload)
Object met drie hoofdblokken: info, ts_summary, history. In antwoorden op volledige rapporten wordt history als nieuwste eerst geretourneerd.
| Parameter | Type | Beschrijving |
|---|---|---|
info | object|nul | Archiefdekkingsoverzicht voor het domein. |
ts_summary | object|nul | Geaggregeerde KarmaScore/Wayback-signalen gebruikt in tabelfilters. |
history | array | Tijdlijn van momentopname (één object per Wayback-opname). |
web_archive.info
| Parameter | Type | Beschrijving |
|---|---|---|
snap_counter | integer | Totaal aantal getelde Wayback-snapshots. |
years_counter | integer | Aantal jaren met archiefactiviteit (domeinleeftijdssignaal). |
first_ts | integer | Unix-tijdstempel van de eerste momentopname. |
last_ts | integer | Unix-tijdstempel van de laatste momentopname. |
years | object | Jaar → maandelijkse kaart met momentopnamen (sparkline-/kalendergegevens). |
web_archive.ts_summary
| Parameter | Type | Beschrijving |
|---|---|---|
average_karma_score | integer | Gemiddelde KarmaScore, 0..100 (wordt toegewezen aan lijstveld karmascore). |
wa_changes | integer | Aantal significante inhoudswijzigingen in de gescande geschiedenis. |
wa_langs | array | Taalverdelingsrijen: language, pageRatio (0..100). |
wa_server_code | array | HTTP-codedistributie: server_code (bijvoorbeeld 200, 301, 403), response_ratio (0..100). |
wa_tags | array | Gedetecteerde inhoudstags over de geschiedenis heen. |
pattern_shares | array | Rijen met patroonaandelen: factor, description, share. |
chart_data | array | Tijdreekspunten: timestamp, karma_score, lang, server_code, tags, detected_patterns. |
web_archive.history[] (momentopnamerij)
| Parameter | Type | Beschrijving |
|---|---|---|
snaped_at | integer | Momentopname Unix-tijdstempel. |
webarchive_link | tekenreeks|nul | Wayback-URL voor deze opname (null bij het sluiten van de placeholder-snap). |
headers | object|nul | HTTP-metagegevens, gewoonlijk status_code (200, 301, 302, 403, 404, 429, ...), original_url. |
screenshot | booleaanse |nul | true als er een screenshot bestaat (binair afzonderlijk opgeslagen; ophalen via screenshot API in UI). |
content_info | object|nul | Geparseerde pagina-inhoud (zie hieronder). |
karma_score | object|nul | Score per momentopname: score (0..100), detected_patterns, tags (porno/crypto/gokken/... vlaggen). |
redirects | array|nul | Leid ketengegevens door indien aanwezig. |
website_ids | array|nul | Gedetecteerde site-ID's (name, website, ids[]), b.v. analytische tags. |
built_with | object|nul | Payload voor detectie van technologiestack (indien beschikbaar). |
web_archive.history[].content_info
| Parameter | Type | Beschrijving |
|---|---|---|
lang | tekenreeks|nul | Paginataalcode gedetecteerd. |
title, description, keywords | tekenreeks|nul | Meta-/paginatekstvelden gebruikt in filters en UI. |
generator, author, copyright | tekenreeks|nul | Extra metavelden. |
h1 … h6 | tekenreeks[] |nul | Kopteksten (doorzoekbaar via keywords filter). |
cloud_words | array|nul | Woordwolkinvoer (word). |
external_links, internal_links | array|nul | Lijsten met uitgaande/inkomende links. |
rel_canonical, meta_robots | tekenreeks|nul | Canonieke URL en robots-meta. |
length_symbols, length_words | integer | Tellers voor inhoudsgrootte. |
auctions (veilingkavels)
Aanwezig wanneer het rapport veilinggegevens bevat (auctions, en soms gerelateerde rijen in andere bases). In de antwoorden op het volledige rapport zijn de kavels gegroepeerd op eindtijd:
{
"1764441900": [
{ "source": "godaddy", "sale_type": "auction", "price": 120, "bids": 3, "...": "..." }
]
}
- Objectsleutel =
end_time(Unix-seconden). - Waarde = reeks kavelobjecten die op dat moment eindigen (meerdere platforms kunnen één sleutel delen).
| Parameter | Type | Beschrijving |
|---|---|---|
source | string | Veilingplatform/registrarbron (bijv. godaddy, namejet, dynadot, dropcatch, sedo, sav.com). Hoofdletterongevoelig in filters. |
sale_type | string | Type vermelding (bijvoorbeeld auction, buynow, Closeout, Pre-Release, Dropped). |
domain | string | Domeinnaam voor het kavel. |
item_id | string | Platformspecifieke kavel-/listing-ID. |
end_time | integer | Eindtijd lot (Unix seconden); wordt ook gebruikt als groeperingssleutel in het volledige rapport. |
price | number | Huidige prijs (meestal USD). |
bids | geheel getal |nul | Aantal biedingen, indien van toepassing. |
currency | string | Valutasymbool/-code (standaard "$"). |
report_type | string | Eigenaarsbasis: auctions, backorder of buynow. |
priority | integer | Intern sorteer-/prioriteitsgewicht (standaard 0). |
Filtertip: auction_source in zoekopdracht accepteert gewone bron (godaddy) of samengestelde waarde source|sale_type (bijvoorbeeld godaddy|auction).
Voor exacte veldbeperkingen (null-regels, opsommingswaarden, min/max, geneste objecten) gebruikt u altijd OpenAPI of ReDoc.
report_type-parameter
Voor het volledige rapport en favorieten: auctions, expired, backorder, buynow. Waarde all wordt alleen gebruikt in zoeklogica (alle databases), niet als {report_type} in het pad.
Paginering en sortering (lijsteindpunten)
Queryparameters:
| Parameter | Standaard | Beschrijving |
|---|---|---|
page | 1 | Paginanummer |
page_size | 10 | Paginaformaat (max. 50) |
sort_by | added_at | Sorteer kolomnaam (zoals in de UI-tabel; enum in OpenAPI) |
sort_desc | true | true — aflopend |
Depth limit: page × page_size ≤ 5000. Requests beyond this return 422 validation error.
Domeinen in URL's
Gebruik voor {domain} in het pad procentcodering (IDN, Cyrillisch, enz.). De server normaliseert de naam (punycoded/kleine letters).
Typische werkstromen
1. Zoeken → volledig rapport
POST https://api.karma.domains/v1/reports/searchmet een filterlichaam (zie OpenAPI →ReportListFilterSchema).- Neem van
report_list[]report_idenreport_type. GET https://api.karma.domains/v1/reports/{report_type}/{report_id}.
Filters komen overeen met filters in the web UI — eenvoudig te vergelijken met de gebruikersinterface; zie OpenAPI voor het veldschema.
2. Exact domein zonder lang zoeken
GET /v1/reports/by-domain/example.com- In het antwoord,
matches[]— maximaal één vermelding per database waarin het domein bestaat. - Kies de benodigde
report_type→GET /v1/reports/{report_type}/{report_id}.
Als matches leeg is, staat het domein niet in Karma-databases.
3. Favorieten
- Alleen lijst:
GET /v1/reports/favorites - Dezelfde lijst via zoeken:
POST /v1/reports/searchmet"favorites": truein de hoofdtekst - Toevoegen:
POST /v1/reports/favoritesmet{"report_id": "...", "report_type": "expired"} - Verwijderen:
DELETE /v1/reports/favorites/expired/{report_id}
4. Dropcheck (verlopen rapport)
GET /v1/reports/check/expired/{report_id} — rapport-ID, geen domeinnaam.
- Bij een succesvolle controle wordt het rapportrecord op de server bijgewerkt
is_expired: true— domein is waarschijnlijk beschikbaar om te registreren (niet "WHOIS-vervaldatum verstreken")- Herhaal de live controle voor hetzelfde rapport – maximaal eens per 3 uur (bedrijfsregel)
- HTTP-antwoord wordt 1 uur in de cache opgeslagen voor herhaalde GET met dezelfde
report_id(zie “Caching”)
5. Domeincontrole zonder rapportage in de database
GET /v1/domains/checker/expiry/{domain} — live WHOIS/DNS; verandert het databaserapport niet.
available: true— waarschijnlijk registreerbaaravailable: false— genomen of gereserveerd- Herhaalde verzoeken voor hetzelfde domein binnen ~1 uur kunnen een in het cachegeheugen opgeslagen antwoord opleveren
6. Karma Metriek direct
GET /v1/domains/checker/karma_metric/{domain} — Karma-metriek van WayBack Machine; werkt het rapport niet bij. Antwoordvelden — OpenAPI (KarmaMetricData). Reactiecache per domein — ~1 uur.
Lees meer over Karma Metriek in the blog
7. Balans en plan
GET /v1/user — e-mail, balance (credits), abonnementsvlaggen, abonnementsgegevens. API-sleutel staat niet in het antwoord. Antwoord in cache ~1 minuut per sleutel — peil niet vaker dan nodig is voor een up-to-date saldo.
Caching
Op het openbare API-niveau wordt de HTTP-antwoordtekst in de cache opgeslagen. Sommige eindpunten gebruiken vroege vernieuwing (achtergrondvernieuwing voordat TTL verloopt: 4 minuten voor 5 minuten TTL, 50 minuten voor 1 uur TTL).
| Eindpunt | TTL |
|---|---|
POST /v1/reports/search | 5 minuten |
GET /v1/reports/favorites | 5 minuten |
POST /v1/reports/favorites | geen |
DELETE /v1/reports/favorites/{report_type}/{report_id} | geen |
GET /v1/reports/by-domain/{domain} | 5 minuten |
GET /v1/reports/check/expired/{report_id} | 1 uur |
GET /v1/reports/{report_type}/{report_id} | geen |
GET /v1/user | 1 min |
GET /v1/domains/checker/expiry/{domain} | 1 uur |
GET /v1/domains/checker/karma_metric/{domain} | 1 uur |
POST/DELETE favorieten veranderen de servergegevens onmiddellijk, maar een herhaling van GET /favorites of POST /search met favorites: true kan een verouderde lijst opleveren totdat de cache verloopt (5 min).
Voorbeelden aanvragen (krul)
Vervang YOUR_API_KEY door uw profielsleutel. Basis-URL: https://api.karma.domains.
Zoekopdracht verlopen met een filter
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"]
}'
Filtertekst: alle velden van ReportListFilterSchema in OpenAPI.
Volledig rapport
curl "https://api.karma.domains/v1/reports/expired/507f1f77bcf86cd799439011" \
-H "Authorization: Bearer YOUR_API_KEY" \
-H "Accept: application/json"
Zoek per domein
curl "https://api.karma.domains/v1/reports/by-domain/example.com" \
-H "Authorization: Bearer YOUR_API_KEY" \
-H "Accept: application/json"
Toevoegen aan favorieten
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"
}'
Controle van de beschikbaarheid van domeinen
curl "https://api.karma.domains/v1/domains/checker/expiry/mybrand.com" \
-H "Authorization: Bearer YOUR_API_KEY" \
-H "Accept: application/json"
Karma-metrisch
curl "https://api.karma.domains/v1/domains/checker/karma_metric/mybrand.com" \
-H "Authorization: Bearer YOUR_API_KEY" \
-H "Accept: application/json"
Gebruiksscenario's voor integratie
Nachtelijk verlopen selectiepijplijn
Dagelijkse cron: POST /search met een opgeslagen JSON-filter (zoals een saved filter in de gebruikersinterface), paginering met page_size=50, export report_id naar uw database. Gedetailleerde analyse — GET volledig rapport alleen voor de shortlist.
Controle van een namenlijst vóór registratie
Wachtrij met domeinen → GET /domains/checker/expiry/{domain} → vertakking op available. Vereist geen rapport in Karma.Domains.
Favorieten synchroniseren met interne CRM
Periodiek GET /favorites; over gebruikersactie in CRM — POST/DELETE favorieten. Houd rekening met ~5 minuten lijstcache.
BI / trechteranalyse
Exporteer zoekpagina's, verzamel total_count en statistieken van report_list zonder de gebruikersinterface te openen. Lijstrijschema — ReportListResponseSchema in OpenAPI.
MCP + scripts op één sleutel
Team gebruikt MCP in Cursor voor ad-hoc zoeken en openbare API voor stabiele ETL. Totaal 60 verzoeken per minuut — plan batches en uitstel op 429.
MCP en openbare API
| Openbare API (REST) | MCP | |
|---|---|---|
| Publiek | Ontwikkelaars, scripts, ETL | AI-assistenten (Cursor, Claude) |
| Interface | HTTP + JSON | Dialoog, hulpmiddelen |
| Documenten | Deze pagina + OpenAPI | /nl/expired-domains-mcp/ |
| Gegevens | Dezelfde rapporten en databases | Dezelfde |
| Sleutel & limiet | Gedeeld | Gedeeld |
Voor nieuwe code-integraties begint u met REST. Voor chatexperimenten — MCP.
Veelgestelde vragen
Waar is de volledige filterveldreferentie?
OpenAPI, schema ReportListFilterSchema. De betekenis van velden komt overeen met filter help in de gebruikersinterface.
Wat is het verschil tussen available en is_expired?
Beide betekenen in API-context: domein is waarschijnlijk beschikbaar om te registreren. available — live controle op naam (/domains/checker/expiry). is_expired — cheque gekoppeld aan een verlopen databaserapport (/reports/check/expired/{report_id}).
Waarom 403 met de juiste sleutel?
Geen actief Pro-abonnement. Controleer abonnement in profiel.
Waarom komt het API-antwoord niet overeen met de gebruikersinterface of met een zojuist uitgevoerde actie?
Openbare API HTTP-cache — zie de tabel in “Caching”. Houd rekening met TTL bij het synchroniseren met de gebruikersinterface.
Welke sort_by-waarden zijn toegestaan?
Enumlijst in OpenAPI: namen van rapporttabelkolommen in de webapp.
Heb ik deze pagina nodig als OpenAPI bestaat?
OpenAPI is de bron van waarheid voor typen en velden. Deze pagina voegt context toe: limieten, cache, oproepvolgorde, gebruiksscenario's en valkuilen die niet in het schema staan.
Is er een zandbak?
Geen aparte sandbox; gebruik een Pro-account en respecteer de tarieflimieten. Voor foutopsporing werken GET /user en een smalle POST /search met een strikt filter goed.
Foutcodes
| Code | Betekenis |
|---|---|
| 200 | Succes |
| 401 | Ongeautoriseerd (sleutel) |
| 403 | Geen professional |
| 404 | Rapport of bron niet gevonden |
| 422 | Validatiefout in hoofdtekst/query (ongeldig filter, sort_by, …) |
| 429 | Tarieflimiet overschreden |
| 503 | Tariefbegrenzer tijdelijk niet beschikbaar |
De hoofdtekst van de fout bevat meestal detail (reeks- of validatieobjectarray). Voorbeeld:
{
"detail": "Invalid API key"
}
Nuttige links
- OpenAPI (swagger): https://api.karma.domains/docs
- Opnieuw document: https://api.karma.domains/redoc
- MCP for AI
- API-sleutel: Profile → Settings
- UI filter help