Expired Domains API Dokümantasyonu

Domain intelligence için JSON yanıtlı tek bir REST API: SEO metrikleri (TF, CF, DA, DR, Age, Backlinks, Traffic vb.), Wayback Machine geçmişi, her gün 400.000+ yeni domain, 30+ domain veri kaynağı ve hassas arama için 90+ filtre. Canlı açık artırmalar, expired domainler, tam raporlar, favoriler, uygunluk kontrolleri, Karma Metric ve profil verileri içerir. Pro Bearer anahtarı, dakikada 60 istek.

Ücretsiz dene!
Bonus kredileri kullanın!

Public API Karma.Domains, domain raporlarına programatik erişim sağlar: auctions, expired, backorder ve buy-now. Tüm yanıtlar HTTPS üzerinden JSON formatındadır. Base URL: https://api.karma.domains, route prefix: /v1.

Karma.Domains; yatırımcılar, SEO ekipleri ve otomasyon pipeline'ları için bir domain intelligence platformudur:

  • Keşif ve izleme akışlarında günlük 400.000+ yeni domain (toplam 7.000.000+ domain)
  • Genel olarak 30+ domain veri kaynağı, bunun içinde 27+ auction/expired/backorder/buy-now kaynağı (GoDaddy, NameJet, DropCatch, Dynadot, GNAME, Namecheap vb.)
  • Domain kalitesi, SEO, içerik geçmişi ve açık artırma sinyallerinde hassas arama için 90+ filtre (TF, CF, DA, DR, Age, Backlinks, Traffic, Keywords, Anchor Text vb.)
  • TLD ve ccTLD kapsamı (ör. .com, .net, .org, .biz, .info, .at, .be, .ca, .cc, .cl, .co, .co.nz)
  • Büyük sağlayıcılardan SEO ve otorite verileri: Ahrefs, Majestic, Moz, SimilarWeb
  • Wayback Machine ile tarihsel içerik ve değişim sinyalleri

İstek ve yanıt şemaları (filtre alanları, rapor yapısı, sıralama enum'ları) için interaktif dokümantasyon: Swagger UI veya ReDoc.
Bu sayfa bir entegrasyon özetidir: kimlik doğrulama, limitler, endpoint listesi, tipik akışlar ve örnekler.

Giriş

Public API; script'ler, dahili dashboard'lar, CRM sistemleri ve Karma.Domains web uygulamasındaki verilerin aynısına ihtiyaç duyan tüm otomasyonlar içindir.

  • Format: JSON
  • API sürümü: 1.0.0
  • Veritabanları: auctions, expired, backorder, buynow; hepsinde aynı anda arama — POST /v1/reports/search (UI'daki “all databases” tablosuyla aynı)
  • Alan dokümantasyonu: yalnızca OpenAPI
  • Sadece Pro plan ve üzeri için kullanılabilir

Kimlik Doğrulama

Her istekte şu header bulunmalıdır:

Authorization: Bearer YOUR_API_KEY

API anahtarı nasıl alınır

  1. Pro plan (Pro olmadan API kullanılamaz).
  2. Profile → SettingsAPI key bölümünden anahtar oluşturun veya sıfırlayın.

Aynı anahtar MCP server (AI asistanları) için de kullanılır. İstek limiti REST ve MCP arasında ortaktır.

Anahtar hatalı olduğunda tipik yanıtlar

Code Reason
401 Header eksik, anahtar geçersiz veya Bearer yazım hatası
403 Anahtar geçerli ama hesapta aktif Pro yok (Pro plan required for API access)

Her zaman Accept: application/json gönderin.

Rate limiting

  • API anahtarı başına dakikada 60 istek
  • Pencere: 60 saniye
  • Sayaç tüm Public API endpoint'leri ve MCP arasında ortaktır

Başarılı yanıtlar şu header'ları içerir:

Header Description
X-RateLimit-Limit Limit (60)
X-RateLimit-Remaining Geçerli pencerede kalan istek sayısı
X-RateLimit-Reset Pencerenin sıfırlanacağı Unix timestamp

Limit aşıldığında: 429 Too Many Requests ve Retry-After header'ı (yeniden denemeye kadar saniye).

İpuçları: Liste endpoint'lerinde page_size değerini 50'ye kadar kullanın; POST /search endpoint'ini gereğinden sık poll etmeyin — yanıtlar cache'lenir (bkz. “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.

Endpoint özeti

Tam query/body parametreleri — OpenAPI.

Method Path Purpose
POST /v1/reports/search ReportListFilterSchema body ile rapor arama, sayfalama, sıralama
GET /v1/reports/favorites Mevcut kullanıcının favori rapor listesi
POST /v1/reports/favorites Favorilere rapor ekleme
DELETE /v1/reports/favorites/{report_type}/{report_id} Favorilerden çıkarma
GET /v1/reports/by-domain/{domain} Tam domain adına göre report ID bulma
GET /v1/reports/{report_type}/{report_id} Veritabanı tipi ve rapor id ile tam rapor
GET /v1/reports/check/expired/{report_id} expired raporu için domain'in düşüp düşmediğini kontrol etme
GET /v1/user Kullanıcı profili (PublicUserProfileSchema)
GET /v1/domains/checker/expiry/{domain} Canlı kontrol: domain kayıt için uygun mu
GET /v1/domains/checker/karma_metric/{domain} WayBack Machine ile canlı Karma Metric hesaplama

Model parametre referansı

Aşağıda API yeteneklerinin büyük bölümünü tanımlayan 3 temel OpenAPI modeli için pratik bir parametre haritası bulunur.

ReportListFilterSchema (POST /v1/reports/search için request body)

Bu şemada kullanılan değer semantiği:

  • null veya gönderilmeyen alan = filtre yok.
  • String query alanları, dokümante edildiği yerde AND için , ve OR için | destekler.
  • Tarih aralıkları 2 stringlik array'dir: [from, to].
  • Çoğu skor aralığında kapsayıcı *_min / *_max kullanılır.
Parameter Type Description
domain string | null Domain alt dize filtresi, büyük/küçük harf duyarsız. , = AND (tüm terimler eşleşmeli), | = OR (herhangi bir terim). Maks uzunluk: 350.
tlds string | null Virgül veya boşlukla ayrılmış TLD listesi (örn. .com .net .org). Maks uzunluk: 350.
domain_type string[] | null İzinli değerler: auctions, backorder, buynow, expired. Seçilen değerler arasında OR mantığı.
favorites boolean | null true = sadece favoriler, false = favorileri hariç tut. Kimliği doğrulanmış kullanıcı bağlamı gerekir.
categories string[] | null Kategori bazında OR mantığı, Category / Subcategory formatını destekler, büyük/küçük harf duyarsız alt dize eşleşmesi.
languages string , (AND) / | (OR) ile dil sorgusu, büyük/küçük harf duyarsız alt dize eşleşmesi. Maks uzunluk: 350.
keywords string | null Wayback içeriğinde arama (title, description, h1-h6 vb.). , = AND, | = OR. Maks uzunluk: 350.
website_ids string[] Aynı sahipteki domain'leri bulmak için GA/Metrika benzeri ID'ler.
domain_length_min / domain_length_max integer | null Domain uzunluğu sınırları (dokümantasyonda 1..30).
domain_numbers / domain_hyphens boolean Domain adında rakam ve tire zorunlu/kısıtlı.
report_added_time string[2] | null Tarih aralığı: ["YYYY-MM-DD","YYYY-MM-DD"]. Backend gün başlangıç/bitiş sınırlarını otomatik uygular.
karmascore_min / karmascore_max integer | null KarmaScore sınırları, 0..100.
karmametric_min / karmametric_max integer | null Karma Metric sınırları, 0..100.
brandscore_min / brandscore_max integer | null Brandscore sınırları, 0..100.
openpagerank_min / openpagerank_max integer | null Open PageRank sınırları, 0..10 olarak dokümante edilmiştir.
ahrefs_dr_min / ahrefs_dr_max number | null Ahrefs DR sınırları, 0..100.
ahrefs_ur_min / ahrefs_ur_max number | null Ahrefs UR sınırları, 0..100.
ahrefs_ar_min / ahrefs_ar_max integer | null Ahrefs Rank sınırları (>= 0).
majestic_tf_min / majestic_tf_max integer | null Majestic TF sınırları, 0..100.
majestic_cf_min / majestic_cf_max integer | null Majestic CF sınırları, 0..100.
majestic_bl_min / majestic_bl_max integer Majestic backlink sınırları.
majestic_rd_min / majestic_rd_max integer Majestic referring domain sınırları.
majestic_topics / majestic_lang string[] / string Konu ve anchor dili filtreleri.
moz_da_min / moz_da_max integer | null Moz DA sınırları, 0..100.
moz_ss_min / moz_ss_max integer | null Moz Spam Score sınırları, 0..100.
moz_bl_min / moz_bl_max integer Moz backlink sınırları.
moz_rd_min / moz_rd_max integer Moz referring domain sınırları.
moz_bl_url / moz_bl_anchor string Moz backlink URL / anchor ifade filtreleri.
sw_visits_min / sw_visits_max integer SimilarWeb ziyaret sınırları.
sw_last_traffic_date string[2] | null SimilarWeb ay aralığı: ["YYYY-MM","YYYY-MM"].
sw_country_filters object[] Ülke payı filtreleri (country, opsiyonel share_min).
sw_ts_direct_min...sw_ts_social_max number | null SimilarWeb trafik kaynağı kanal payı sınırları, 0..100.
wa_age_min / wa_age_max integer | null Wayback domain yaşı (yıl).
wa_first_snap / wa_last_snap string[2] | null Tarih aralığı: ilk/son snapshot penceresi için ["YYYY-MM-DD","YYYY-MM-DD"].
wa_changes_min/max, wa_redirects_min/max, wa_parkings_min/max integer Wayback geçmiş sayaçları.
wa_hieroglyphs, wa_redirects, wa_error403 boolean Wayback içerik kalite bayrakları.
wa_lang_filters object[] Wayback dil filtreleri (language, opsiyonel ratio_min).
wa_server_code, wa_server_code_ratio_min/max integer | null / number | null Wayback server code filtresi (örn. 200, 301, 302, 403, 404) + 0..100 ratio sınırları.
ke_etv_min/max, ke_total_min/max integer Keywords Everywhere trafik değeri / keyword sınırları.
ke_keyword string Keywords Everywhere ifade filtresi.
google_has_index, google_has_mentions boolean | null Google SERP'te index veya mention zorunluluğu için true/false/unset semantiği.
google_title_index/mentions, google_description_index/mentions string SERP snippet başlık/açıklama ifade filtreleri.
trustpilot_rating_min/max, trustpilot_reviews_count_min/max number | null / integer | null Trustpilot puan sınırları (0..5) ve yorum sayısı sınırları.
trustpilot_category string Trustpilot kategori ifade filtresi.
auction_source string[] | null Açık artırma kaynak adları (büyük/küçük harf duyarsız) veya birleşik değer `source
auction_end_time, auction_added_time string[2] | null Tarih aralığı: ["YYYY-MM-DD","YYYY-MM-DD"].
auction_price_min/max number Açık artırma fiyat sınırları.
auction_bids_min/max integer Açık artırma teklif sayısı sınırları.
combine_seo object | null Vendorlar arası CombineSEOFilter: authority/backlinks/refdomains/traffic/keywords/backlink-url/anchors; her satırda vendor bazlı OR, satırlar arasında AND mantığı.

ReportListResponseSchema (POST /search ve GET /favorites yanıtı)

Parameter Type Description
report_list ReportItem[] Tablo görünümü ve shortlist üretimi için sayfalı satırlar.
total_count integer Mevcut filtreye uyan toplam kayıt sayısı.

report_list[] satır düzeyi alanlar (ReportItem):

Parameter Type Description
report_id string Stabil rapor tanımlayıcısı (tam rapor ve favoriler için kullanılır).
report_type string auctions, expired, backorder, buynow değerlerinden biri.
domain, domain_tld string Domain adı ve TLD.
added_at, updated_at integer Timestamp alanları.
processed, demo, is_expired boolean UI/API akışlarında kullanılan durum bayrakları.
karmascore, karmametric, brandscore integer Temel kalite/brandability metrikleri.
ahrefs_dr, ahrefs_ur number Ahrefs özet metrikleri.
majestic_tf/cf/bl/rd, moz_da/ss/bl/rd integer Majestic ve Moz özet metrikleri.
ke_etv, ke_total integer Keywords Everywhere özet değerleri.
sw_last_traffic, sw_country_share, sw_sources integer/object SimilarWeb trafik özetleri.
wa_age, wa_last_snap, wa_changes, wa_langs, wa_server_code integer/array Wayback özet sinyalleri.
google_index, trustpilot_rating, trustpilot_reviews_count boolean/number/integer Google/Trustpilot özet alanları.
auctions array/object Varsa açık artırma girdisi özeti.

ReportFullResponseSchema (GET /v1/reports/{report_type}/{report_id} yanıtı)

Parameter Type Description
report_id, report_type, domain, domain_tld string Temel kimlik alanları.
domain_length, domain_numbers, domain_hyphens integer/boolean Domain yapı öznitelikleri.
favorite, demo, processed, is_expired boolean Rapor durumu ve kullanıcıya bağlı bayraklar.
added_at, updated_at, created_at, checked_at, expire_checked_at integer Yaşam döngüsü timestamp'leri.
providers_status object Sağlayıcı bazında işleme durumu haritası (string değerler).
web_archive object Wayback Machine verisi — aşağıda ayrıntılandırılmıştır.
metrics DomainMetrics İç içe SEO/trafik/itibar metrikleri — aşağıda ayrıntılandırılmıştır.
auctions object | null end_time bazında gruplanmış açık artırma lotları — aşağıda ayrıntılandırılmıştır.

metricsDomainMetrics

Çoğu sağlayıcı bloğu veri nesnesi, false (yüklenmedi) veya null olabilir. categories ve blacklists boşsa [] de olabilir.

Parameter Type Description
openpagerank number | integer | boolean | null Mevcutsa Open PageRank skoru (genellikle 0..10).
categories CategoryData[] | boolean | null Sınıflandırma sağlayıcılarından içerik kategorileri.
blacklists BlacklistsData[] | boolean | null Güvenlik/itibar blacklist eşleşmeleri.
ahrefs AhrefsData | boolean | null Ahrefs domain metrikleri.
majestic MajesticData | boolean | null Majestic Trust/Citation Flow ve backlink profili.
moz MozData | boolean | null Moz authority, spam score ve backlink detayları.
keywordseverywhere KeywordseverywhereData | boolean | null Keywords Everywhere trafik/keyword tahminleri.
similarweb SimilarWebData | boolean | null SimilarWeb ziyaretler, kaynaklar ve coğrafi pay.
brandscore BrandscoreData | boolean | null Brandability skoru bileşenleri.
karma_metric KarmaMetricData | boolean | null Wayback geçmişinden Karma Metric skoru.
trustpilot TrustpilotData | boolean | null Trustpilot puanı ve yorum istatistikleri.
google GoogleData | boolean | null Google index ve mention SERP snippet'leri.
ai_summary string | null AI tarafından üretilen domain özet metni.

AhrefsData

Parameter Type Description
domain_rating number | null Ahrefs DR.
url_rating number | integer | null Ahrefs UR.
ahrefs_rank integer | null Ahrefs Rank (daha düşük = daha güçlü).

MajesticData

Parameter Type Description
tf, cf integer | null Trust Flow / Citation Flow (0..100).
backlinks, refdomains integer | null Backlink ve referring domain sayıları.
primary_topic string | null Ana konu kategorisi.
topics array | null Konu dağılım listesi.
anchor_lang array | null Anchor text dil dağılımı.
indexed_urls, referring_ips, referring_subnets integer | null Index ve ağ çeşitliliği sayaçları.

MozData

Parameter Type Description
moz_domain_authority integer | null Moz DA.
moz_spam_score integer | null Moz Spam Score.
page_rank, moz_link_propensity number | integer | null Legacy rank ve link propensity.
moz_*_to_subdomain fields integer | null Moz link graph sayaçları (pages/domains, follow/nofollow/redirect/deleted).
moz_da_history_values string | null Serileştirilmiş DA geçmiş değerleri.
backlinks MozBacklink[] | null Backlink satırları (domain_source, url_source, domain_target, url_target, anchor_text, harmonic_centrality, last_found_date).

KeywordseverywhereData

Parameter Type Description
etv integer | null Tahmini trafik değeri.
total_keywords integer | null İzlenen toplam keyword sayısı.
data KeywordItem[] | null Keyword satırları (position, etv, keyword).

SimilarWebData

Parameter Type Description
estimated_monthly_visits object | null Ay → ziyaret haritası.
traffic_sources TrafficSources | null Kanal payları: Social, Paid Referrals, Mail, Referrals, Search, Direct (0..1 oranları).
top_country_shares CountryShare[] | null Coğrafi dağılım (Country, CountryCode, Value).
engagments Engagements | null BounceRate, PagePerVisit, Visits, TimeOnSite, Month, Year.
category string | null SimilarWeb site kategorisi.

BrandscoreData

Parameter Type Description
pronounceability, memorability, uniqueness, appeal, brandscore integer Brandability bileşenleri ve final skor.

KarmaMetricData

Parameter Type Description
karma_metric integer Son skor, 0..100.
components KarmaMetricComponents A_mass, A_cont, A_stab, A_trend (her biri 0..100).
period string | null YYYY-MM formatında dönem (yoksa null).

TrustpilotData

Parameter Type Description
rating number | null Puan, genellikle 0..5.
reviews_count integer | null Yorum sayısı.
category string | null Trustpilot iş kategorisi.

GoogleData

Parameter Type Description
google_index GoogleItem[] | null site:domain için indexlenmiş sayfalar (rank, url, title, description).
google_mentions GoogleItem[] | null Tırnak içinde domain aramalarındaki mention sonuçları.

CategoryData / BlacklistsData

Model Key fields
CategoryData categories[], vendor, info_url
BlacklistsData vendor, info_url, optional info

web_archive (Wayback Machine payload)

Üç ana bloktan oluşan nesne: info, ts_summary, history. Tam rapor yanıtlarında history en yeni önce olacak şekilde döner.

Parameter Type Description
info object | null Domain için arşiv kapsamı özeti.
ts_summary object | null Tablo filtrelerinde kullanılan toplulaştırılmış KarmaScore / Wayback sinyalleri.
history array Snapshot zaman çizelgesi (her Wayback capture için bir nesne).

web_archive.info

Parameter Type Description
snap_counter integer Sayılan toplam Wayback snapshot sayısı.
years_counter integer Arşiv aktivitesi olan yıl sayısı (domain yaşı sinyali).
first_ts integer İlk snapshot'ın Unix timestamp'i.
last_ts integer En son snapshot'ın Unix timestamp'i.
years object Yıl → aylık snapshot sayısı haritası (sparkline/takvim verisi).

web_archive.ts_summary

Parameter Type Description
average_karma_score integer Ortalama KarmaScore, 0..100 (karmascore liste alanına maplenir).
wa_changes integer Taranan geçmişteki anlamlı içerik değişim sayısı.
wa_langs array Dil dağılım satırları: language, pageRatio (0..100).
wa_server_code array HTTP kod dağılımı: server_code (örn. 200, 301, 403), response_ratio (0..100).
wa_tags array Geçmiş boyunca tespit edilen içerik etiketleri.
pattern_shares array Pattern pay satırları: factor, description, share.
chart_data array Zaman serisi noktaları: timestamp, karma_score, lang, server_code, tags, detected_patterns.

web_archive.history[] (snapshot satırı)

Parameter Type Description
snaped_at integer Snapshot Unix timestamp'i.
webarchive_link string | null Bu capture için Wayback URL (null kapanış placeholder snapshot'ında).
headers object | null HTTP metadata, genellikle status_code (200, 301, 302, 403, 404, 429, …), original_url.
screenshot boolean | null true ise screenshot vardır (binary ayrı tutulur; UI'da screenshot API ile alınır).
content_info object | null Parse edilmiş sayfa içeriği (aşağıya bakın).
karma_score object | null Snapshot başına skor: score (0..100), detected_patterns, tags (porno/crypto/gambling/... flagleri).
redirects array | null Varsa redirect chain verisi.
website_ids array | null Tespit edilen site ID'leri (name, website, ids[]), örn. analytics etiketleri.
built_with object | null Teknoloji stack tespit payload'ı (mevcutsa).

web_archive.history[].content_info

Parameter Type Description
lang string | null Tespit edilen sayfa dil kodu.
title, description, keywords string | null Filtrelerde ve UI'da kullanılan meta/sayfa metin alanları.
generator, author, copyright string | null Ek meta alanlar.
h1h6 string[] | null Başlık metinleri (keywords filtresiyle aranabilir).
cloud_words array | null Kelime bulutu girdileri (word).
external_links, internal_links array | null Dış/iç link listeleri.
rel_canonical, meta_robots string | null Canonical URL ve robots meta.
length_symbols, length_words integer İçerik boyutu sayaçları.

auctions (açık artırma lotları)

Raporun açık artırma verisi olduğunda bulunur (auctions, bazen diğer bazlardaki ilişkili satırlar dahil).
Tam rapor yanıtlarında lotlar bitiş zamanına göre gruplanır:

{
  "1764441900": [
    { "source": "godaddy", "sale_type": "auction", "price": 120, "bids": 3, "...": "..." }
  ]
}
  • Nesne anahtarı = end_time (Unix saniye).
  • Değer = o saatte biten lot nesneleri dizisi (birden fazla platform aynı anahtarı paylaşabilir).
Parameter Type Description
source string Açık artırma platformu/registrar kaynağı (örn. godaddy, namejet, dynadot, dropcatch, sedo, sav.com). Filtrelerde büyük/küçük harf duyarsızdır.
sale_type string Listing tipi (örn. auction, buynow, Closeout, Pre-Release, Dropped).
domain string Lot domain adı.
item_id string Platforma özgü lot/listing kimliği.
end_time integer Lot bitiş zamanı (Unix saniye); tam raporda grouping key olarak da kullanılır.
price number Güncel fiyat (genellikle USD).
bids integer | null Uygunsa teklif sayısı.
currency string Para birimi simgesi/kodu (varsayılan "$").
report_type string Sahip baz: auctions, backorder veya buynow.
priority integer Dahili sıralama/öncelik ağırlığı (varsayılan 0).

Filtre ipucu: Aramada auction_source, düz kaynak (godaddy) veya birleşik source|sale_type değeri (örn. godaddy|auction) alır.

Alan kısıtları için (nullable kuralları, enum değerleri, min/max, nested objectler) her zaman OpenAPI veya ReDoc kullanın.

report_type parametresi

Tam rapor ve favoriler için: auctions, expired, backorder, buynow.
all değeri sadece arama mantığında (tüm veritabanları) kullanılır; path içindeki {report_type} için kullanılmaz.

Sayfalama ve sıralama (list endpoint'leri)

Query parametreleri:

Parameter Default Description
page 1 Sayfa numarası
page_size 10 Sayfa boyutu (maks. 50)
sort_by added_at Sıralama sütun adı (UI tablosuyla aynı; enum OpenAPI'de)
sort_desc true true — azalan

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

URL içindeki domain'ler

Path'teki {domain} için percent-encoding kullanın (IDN, Kiril vb.). Sunucu adı normalize eder (punycoded/lowercase).

Tipik workflow'lar

1. Arama → tam rapor

  1. Filtre body ile POST https://api.karma.domains/v1/reports/search (bkz. OpenAPIReportListFilterSchema).
  2. report_list[] içinden report_id ve report_type alın.
  3. GET https://api.karma.domains/v1/reports/{report_type}/{report_id}.

Filtreler web UI filtreleri ile aynıdır — UI ile karşılaştırması kolaydır; alan şeması için OpenAPI'ye bakın.

2. Uzun arama yapmadan tam domain

  1. GET /v1/reports/by-domain/example.com
  2. Yanıtta matches[] — domain'in bulunduğu her veritabanı için en fazla bir kayıt.
  3. Gerekli report_type seçilir → GET /v1/reports/{report_type}/{report_id}.

matches boşsa — domain Karma veritabanlarında yoktur.

3. Favoriler

  • Sadece liste: GET /v1/reports/favorites
  • Arama ile aynı liste: body'de "favorites": true ile POST /v1/reports/search
  • Ekleme: {"report_id": "...", "report_type": "expired"} body ile POST /v1/reports/favorites
  • Silme: DELETE /v1/reports/favorites/expired/{report_id}

4. Drop kontrolü (expired report)

GET /v1/reports/check/expired/{report_id}report id, domain adı değil.

  • Kontrol başarılıysa sunucudaki rapor kaydı güncellenir
  • is_expired: true — domain muhtemelen kayıt edilebilir (bu, “WHOIS expiry date passed” değildir)
  • Aynı rapor için canlı kontrol tekrarını en fazla 3 saatte bir yapın (business rule)
  • Aynı report_id ile tekrarlanan GET için HTTP yanıtı 1 saat cache'lenir (bkz. “Caching”)

5. Veritabanında rapor olmadan domain kontrolü

GET /v1/domains/checker/expiry/{domain} — canlı WHOIS/DNS; veritabanı raporunu değiştirmez.

  • available: true — muhtemelen kayıt edilebilir
  • available: false — alınmış veya rezerve
  • Aynı domain için ~1 saat içinde tekrarlanan istek cache yanıtı döndürebilir

6. Anlık Karma Metric

GET /v1/domains/checker/karma_metric/{domain} — WayBack Machine üzerinden Karma Metric; raporu güncellemez. Yanıt alanları: OpenAPI (KarmaMetricData). Domain başına yanıt cache'i: ~1 saat.

Karma Metric hakkında daha fazla bilgi blog yazısında

7. Bakiye ve plan

GET /v1/user — email, balance (kredi), plan bayrakları, abonelik verileri. API anahtarı yanıtta yer almaz. Anahtar başına yanıt cache'i ~1 dakika olduğundan güncel bakiye için gereğinden sık poll etmeyin.

Caching

Public API seviyesinde HTTP response body cache'lenir. Bazı endpoint'lerde early refresh vardır (TTL bitmeden arka planda yenileme: 5 dk TTL için 4. dk, 1 saat TTL için 50. dk).

Endpoint TTL
POST /v1/reports/search 5 min
GET /v1/reports/favorites 5 min
POST /v1/reports/favorites none
DELETE /v1/reports/favorites/{report_type}/{report_id} none
GET /v1/reports/by-domain/{domain} 5 min
GET /v1/reports/check/expired/{report_id} 1 h
GET /v1/reports/{report_type}/{report_id} none
GET /v1/user 1 min
GET /v1/domains/checker/expiry/{domain} 1 h
GET /v1/domains/checker/karma_metric/{domain} 1 h

Favorilerdeki POST/DELETE sunucu verisini hemen değiştirir; ancak tekrarlanan GET /favorites veya favorites: true ile POST /search, cache bitene kadar (5 dk) eski liste döndürebilir.

İstek örnekleri (curl)

YOUR_API_KEY değerini profil anahtarınızla değiştirin. Base URL: https://api.karma.domains.

Filtre ile expired arama

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

Filtre body'si — OpenAPI içindeki ReportListFilterSchema alanlarından herhangi biri olabilir.

Tam rapor

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

Domain ile lookup

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

Favorilere ekleme

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

Domain uygunluk kontrolü

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

Karma Metric

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

Entegrasyon kullanım senaryoları

Gece çalışan expired seçim pipeline'ı

Günlük cron: UI'daki saved filter benzeri kayıtlı JSON filtre ile POST /search, page_size=50 ile sayfalama, report_id değerlerini kendi veritabanına aktarma. Detay analiz için sadece shortlist'teki kayıtlar için tam rapor GET çağrısı.

Kayıt öncesi domain listesi izleme

Domain kuyruğu → GET /domains/checker/expiry/{domain}available sonucuna göre dallanma. Karma.Domains veritabanında rapor olmasını gerektirmez.

Favorileri dahili CRM ile senkronlama

Periyodik GET /favorites; CRM'de kullanıcı aksiyonunda POST/DELETE favoriler. ~5 dakikalık liste cache'ini hesaba katın.

BI / funnel analytics

UI açmadan arama sayfalarını dışa aktarın, report_list içinden total_count ve metrikleri toplayın. Liste satırı şeması — OpenAPI içindeki ReportListResponseSchema.

Tek anahtarla MCP + script

Ekip, ad-hoc arama için Cursor'da MCP, stabil ETL için Public API kullanır. Toplam limit dakikada 60 istek olduğundan 429 için batch planı ve backoff uygulayın.

MCP ve Public API

Public API (REST) MCP
Audience Geliştiriciler, script'ler, ETL AI asistanları (Cursor, Claude)
Interface HTTP + JSON Diyalog, araçlar
Docs Bu sayfa + OpenAPI /tr/expired-domains-mcp/
Data Aynı raporlar ve veritabanları Aynı
Key & limit Ortak Ortak

Yeni kod entegrasyonlarında REST ile başlayın. Sohbet deneyleri için MCP kullanın.

SSS

Tam filtre alan referansı nerede?

OpenAPI, ReportListFilterSchema şeması. Alan anlamları UI'daki filtre yardımı ile uyumludur.

available ile is_expired arasındaki fark nedir?

API bağlamında ikisi de şunu ifade eder: domain muhtemelen kayıt edilebilir.
available — ada göre canlı kontrol (/domains/checker/expiry).
is_expired — expired veritabanı raporuna bağlı kontrol (/reports/check/expired/{report_id}).

Doğru anahtar varken neden 403 alıyorum?

Aktif Pro plan yok. Profilde aboneliği kontrol edin.

API yanıtı neden UI veya az önce yaptığım işlemle uyuşmuyor?

Public API HTTP cache'i nedeniyle olabilir — “Caching” tablosuna bakın. UI senkronunda TTL'i dikkate alın.

Hangi sort_by değerleri geçerli?

OpenAPI içindeki enum listesi — web uygulamasındaki rapor tablosu sütun adları.

OpenAPI varken bu sayfaya gerek var mı?

OpenAPI tipler ve alanlar için kaynak doğruluktur. Bu sayfa; limit, cache, çağrı sırası, kullanım senaryoları ve şemada olmayan riskler için ek bağlam sağlar.

Can I export the entire database via the API?

No. A single search is limited to 5000 rows of pagination depth, and your account can retrieve at most 50,000 list rows per day (UTC) across API, MCP, and UI. Use filters to narrow results; fetch full reports one domain at a time via GET /reports/{report_type}/{report_id}.

Sandbox var mı?

Ayrı sandbox yok; Pro hesapla ve rate limitlere uyarak kullanın. Debug için GET /user ve sıkı filtreli dar bir POST /search çağrısı etkilidir.

Hata kodları

Code Meaning
200 Success
401 Unauthorized (key)
403 No Pro
404 Rapor veya kaynak bulunamadı
422 Body/query doğrulama hatası (geçersiz filtre, sort_by, …)
429 Rate limit aşıldı
503 Rate limiter geçici olarak kullanılamıyor

Hata body'si genelde detail içerir (string veya doğrulama nesnesi dizisi). Örnek:

{
  "detail": "Invalid API key"
}

Faydalı linkler

Ücretsiz dene!

Bonus kredileri kullanın!

Alan adı listesini aç
+5