Dokumentasi API Domain Kedaluwarsa

Satu REST API dengan respons JSON untuk kecerdasan domain: metrik SEO (TF, CF, DA, DR, Usia, Tautan Balik, Lalu Lintas, dll.), riwayat Mesin Webback, 400.000+ domain baru setiap hari, 30+ sumber data domain, dan 90+ filter untuk pencarian yang tepat. Termasuk lelang langsung, domain kedaluwarsa, laporan lengkap, favorit, pemeriksaan ketersediaan, Metrik Karma, dan data profil. Kunci Pro Bearer, 60 permintaan per menit.

Coba gratis!
Gunakan kredit bonus!

API Publik Karma.Domains menyediakan akses terprogram ke laporan domain: lelang, masa berlaku habis, pemesanan di awal, dan beli sekarang. Semua tanggapan adalah JSON melalui HTTPS. URL Dasar: https://api.karma.domains, awalan rute: /v1.

Karma.Domains adalah platform intelijen domain untuk investor, tim SEO, dan jalur otomatisasi:

  • 400.000+ domain baru setiap hari dalam alur penemuan dan pemantauan (total 7.000.000+ domain)
  • 30+ sumber data domain secara keseluruhan, termasuk 27+ sumber lelang/kedaluwarsa/backorder/beli sekarang (GoDaddy, NameJet, DropCatch, Dynadot, GNAME, Namecheap, dll.)
  • 90+ filter untuk penelusuran akurat di seluruh kualitas domain, SEO, riwayat konten, dan sinyal lelang (TF, CF, DA, DR, Usia, Tautan Balik, Lalu Lintas, Kata Kunci, Teks Jangkar, dll.)
  • Cakupan TLD dan ccTLD (misalnya .com, .net, .org, .biz, .info, .at, .be, .ca, .cc, .cl, .co, .co.nz)
  • Data SEO dan otoritas dari vendor besar: Ahrefs, Majestic, Moz, SimilarWeb
  • Konten historis dan sinyal perubahan melalui Wayback Machine

Skema permintaan dan respons (bidang filter, struktur laporan, enum pengurutan) — dalam dokumen interaktif: Swagger UI atau ReDoc. Halaman ini adalah gambaran umum integrasi: autentikasi, batasan, daftar titik akhir, alur kerja umum, dan contoh.

Perkenalan

API Publik ditujukan untuk skrip, dasbor internal, sistem CRM, dan otomatisasi apa pun yang memerlukan data yang sama dengan aplikasi web Karma.Domains.

  • Format: JSON
  • Versi API: 1.0.0
  • Database: auctions, expired, backorder, buynow; cari semuanya sekaligus — POST /v1/reports/search (sama seperti tabel “semua database” di UI)
  • Dokumentasi lapangan: hanya di OpenAPI
  • Hanya tersedia di Pro plan and above

Otentikasi

Setiap permintaan harus menyertakan header:

Authorization: Bearer YOUR_API_KEY

Cara mendapatkan kunci API

  1. Paket Pro (tanpa Pro, API tidak tersedia).
  2. Profile → Settings — membuat atau menyetel ulang kunci di bagian Kunci API.

Kunci yang sama digunakan untuk MCP server (asisten AI). Batas permintaan dibagi antara REST dan MCP.

Respons yang khas ketika kuncinya salah

Kode Alasan
401 Header tidak ada, kunci tidak valid, atau salah ketik di Bearer
403 Kunci valid, tetapi akun tidak memiliki Pro yang aktif (Pro plan required for API access)

Selalu kirim Accept: application/json.

Pembatasan tarif

  • 60 permintaan per menit per kunci API
  • Jendela: 60 detik
  • Penghitung dibagikan di seluruh titik akhir API Publik dan MCP

Respons yang berhasil mencakup header:

Tajuk Keterangan
X-RateLimit-Limit Batas (60)
X-RateLimit-Remaining Permintaan tertinggal di jendela saat ini
X-RateLimit-Reset Stempel waktu Unix saat jendela direset

Ketika batas terlampaui: 429 Permintaan Terlalu Banyak dan header Retry-After (detik hingga coba lagi).

Tips: gunakan page_size hingga 50 untuk daftar; jangan melakukan polling POST /search lebih sering dari yang diperlukan — tanggapan disimpan dalam cache (lihat “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.

Ikhtisar titik akhir

Parameter kueri/isi lengkap — di OpenAPI.

Metode Jalur Tujuan
POST /v1/reports/search Cari laporan berdasarkan ReportListFilterSchema isi, penomoran halaman, penyortiran
GET /v1/reports/favorites Daftar laporan favorit pengguna saat ini
POST /v1/reports/favorites Tambahkan laporan ke favorit
DELETE /v1/reports/favorites/{report_type}/{report_id} Hapus dari favorit
GET /v1/reports/by-domain/{domain} Temukan ID laporan berdasarkan nama domain tepat
GET /v1/reports/{report_type}/{report_id} Laporan lengkap berdasarkan jenis database dan id laporan
GET /v1/reports/check/expired/{report_id} Periksa apakah domain telah dihapus untuk laporan kedaluwarsa
GET /v1/user Profil pengguna (PublicUserProfileSchema)
GET /v1/domains/checker/expiry/{domain} Tinggal cek: apakah domain tersedia untuk didaftarkan
GET /v1/domains/checker/karma_metric/{domain} Perhitungan Metrik Karma Langsung melalui Mesin WayBack

Referensi parameter model

Di bawah ini adalah peta tingkat parameter praktis untuk 3 model inti OpenAPI yang menentukan sebagian besar kemampuan API.

ReportListFilterSchema (badan permintaan untuk POST /v1/reports/search)

Semantik nilai yang digunakan di seluruh skema ini:

  • null atau kolom dihilangkan = tanpa filter.
  • Bidang kueri string mendukung , untuk AND dan | untuk OR jika didokumentasikan.
  • Rentang tanggal adalah array dari 2 string: [from, to].
  • Sebagian besar rentang skor menggunakan *_min / *_max yang inklusif.
Parameter Jenis Keterangan
domain tali |batal Filter substring domain, tidak peka huruf besar-kecil. , = AND (semua istilah harus cocok), | = ATAU (istilah apa saja). Panjang maksimal: 350.
tlds tali |batal Daftar TLD dipisahkan dengan koma atau spasi (mis., .com .net .org). Panjang maksimal: 350.
domain_type tali[] |batal Nilai yang diizinkan: auctions, backorder, buynow, expired. ATAU logika antara nilai yang dipilih.
favorites boolean |batal true = hanya favorit, false = tidak termasuk favorit. Memerlukan konteks pengguna yang diautentikasi.
categories tali[] |batal ATAU logika berdasarkan kategori, mendukung format Category / Subcategory, pencocokan substring peka huruf besar-kecil.
languages string Permintaan bahasa dengan , (DAN) / | (ATAU), pencocokan substring yang tidak peka huruf besar-kecil. Panjang maksimal: 350.
keywords tali |batal Cari di konten Wayback (title, description, h1-h6, dll.). , = DAN, | = ATAU. Panjang maksimal: 350.
website_ids string[] ID seperti GA/Metrika untuk menemukan domain dengan pemilik yang sama.
domain_length_min / domain_length_max bilangan bulat |batal Batas panjang domain (didokumentasikan sebagai 1..30).
domain_numbers / domain_hyphens boolean Mewajibkan/mengecualikan angka dan tanda hubung dalam nama domain.
report_added_time tali[2] |batal Rentang tanggal: ["YYYY-MM-DD","YYYY-MM-DD"]. Backend menerapkan batas hari mulai/akhir secara otomatis.
karmascore_min / karmascore_max bilangan bulat |batal Batas KarmaScore, 0..100.
karmametric_min / karmametric_max bilangan bulat |batal Batas Metrik Karma, 0..100.
brandscore_min / brandscore_max bilangan bulat |batal Batas skor merek, 0..100.
openpagerank_min / openpagerank_max bilangan bulat |batal Buka batas PageRank, didokumentasikan sebagai 0..10.
ahrefs_dr_min / ahrefs_dr_max angka |batal Batas Ahrefs DR, 0..100.
ahrefs_ur_min / ahrefs_ur_max angka |batal Batas Ahrefs UR, 0..100.
ahrefs_ar_min / ahrefs_ar_max bilangan bulat |batal Batas Peringkat Ahrefs (>= 0).
majestic_tf_min / majestic_tf_max bilangan bulat |batal Batas TF yang luar biasa, 0..100.
majestic_cf_min / majestic_cf_max bilangan bulat |batal Batas CF yang luar biasa, 0..100.
majestic_bl_min / majestic_bl_max integer Batasan tautan balik yang luar biasa.
majestic_rd_min / majestic_rd_max integer Batas domain perujuk yang megah.
majestic_topics / majestic_lang string[] / string Filter topik dan bahasa jangkar.
moz_da_min / moz_da_max bilangan bulat |batal Batas Moz DA, 0..100.
moz_ss_min / moz_ss_max bilangan bulat |batal Batas Skor Spam Moz, 0..100.
moz_bl_min / moz_bl_max integer Batasan tautan balik Moz.
moz_rd_min / moz_rd_max integer Batas domain perujuk Moz.
moz_bl_url / moz_bl_anchor string URL backlink Moz / filter frase jangkar.
sw_visits_min / sw_visits_max integer Batas kunjungan SameWeb.
sw_last_traffic_date tali[2] |batal Kisaran bulan Web serupa: ["YYYY-MM","YYYY-MM"].
sw_country_filters object[] Filter berbagi negara (country, opsional share_min).
sw_ts_direct_min...sw_ts_social_max angka |batal Batas berbagi saluran sumber lalu lintas Web serupa, 0..100.
wa_age_min / wa_age_max bilangan bulat |batal Usia domain wayback dalam beberapa tahun.
wa_first_snap / wa_last_snap tali[2] |batal Rentang tanggal: ["YYYY-MM-DD","YYYY-MM-DD"] untuk jendela snapshot pertama/terakhir.
wa_changes_min/max, wa_redirects_min/max, wa_parkings_min/max integer Penghitung riwayat wayback.
wa_hieroglyphs, wa_redirects, wa_error403 boolean Tanda kualitas konten Wayback.
wa_lang_filters object[] Filter bahasa wayback (language, opsional ratio_min).
wa_server_code, wa_server_code_ratio_min/max bilangan bulat |null / nomor |batal Filter kode server Wayback (misalnya, 200, 301, 302, 403, 404) + batas rasio 0..100.
ke_etv_min/max, ke_total_min/max integer Kata Kunci Di Mana Saja Nilai Lalu Lintas / Batasan Kata Kunci.
ke_keyword string Filter frasa Kata Kunci Di Mana Saja.
google_has_index, google_has_mentions boolean |batal true/false/tidak disetel semantik untuk memerlukan indeks atau penyebutan di SERP Google.
google_title_index/mentions, google_description_index/mentions string Filter judul cuplikan/frasa deskripsi SERP.
trustpilot_rating_min/max, trustpilot_reviews_count_min/max angka |null / integer |batal Batas peringkat Trustpilot (0..5) dan batas jumlah ulasan.
trustpilot_category string Filter frase kategori Trustpilot.
auction_source tali[] |batal Nama sumber lelang (tidak peka huruf besar-kecil) atau nilai gabungan `sumber
auction_end_time, auction_added_time tali[2] |batal Rentang tanggal: ["YYYY-MM-DD","YYYY-MM-DD"].
auction_price_min/max number Batasan harga lelang.
auction_bids_min/max integer Batas jumlah tawaran lelang.
combine_seo objek |batal Lintas-vendor CombineSEOFilter: otoritas/backlinks/refdomains/traffic/keywords/backlink-url/anchors, dengan logika OR cakupan vendor di setiap baris dan AND antar baris.

ReportListResponseSchema (respon untuk POST /search dan GET /favorites)

Parameter Jenis Keterangan
report_list ReportItem[] Baris paginasi untuk tampilan tabel dan pembuatan daftar pilihan.
total_count integer Jumlah total rekaman yang cocok untuk filter saat ini.

Bidang tingkat baris report_list[] (dari ReportItem) meliputi:

Parameter Jenis Keterangan
report_id string Pengidentifikasi laporan stabil (digunakan untuk laporan lengkap dan favorit).
report_type string Salah satu dari auctions, expired, backorder, buynow.
domain, domain_tld string Nama domain dan TLD.
added_at, updated_at integer Stempel waktu.
processed, demo, is_expired boolean Tanda status yang digunakan dalam alur kerja UI/API.
karmascore, karmametric, brandscore integer Metrik kualitas inti/kemampuan merek.
ahrefs_dr, ahrefs_ur number Metrik ringkasan Ahrefs.
majestic_tf/cf/bl/rd, moz_da/ss/bl/rd integer Metrik ringkasan Majestic dan Moz.
ke_etv, ke_total integer Nilai ringkasan Kata Kunci Di Mana Saja.
sw_last_traffic, sw_country_share, sw_sources integer/object Ringkasan lalu lintas Web serupa.
wa_age, wa_last_snap, wa_changes, wa_langs, wa_server_code integer/array Sinyal ringkasan wayback.
google_index, trustpilot_rating, trustpilot_reviews_count boolean/number/integer Bidang ringkasan Google/Trustpilot.
auctions array/object Ringkasan entri lelang jika tersedia.

ReportFullResponseSchema (tanggapan untuk GET /v1/reports/{report_type}/{report_id})

Parameter Jenis Keterangan
report_id, report_type, domain, domain_tld string Bidang identitas inti.
domain_length, domain_numbers, domain_hyphens integer/boolean Atribut struktur domain.
favorite, demo, processed, is_expired boolean Laporkan tanda negara bagian dan terkait pengguna.
added_at, updated_at, created_at, checked_at, expire_checked_at integer Stempel waktu siklus hidup.
providers_status object Peta status pemrosesan per penyedia (nilai string).
web_archive object Data Wayback Machine — lihat rincian di bawah.
metrics DomainMetrics Metrik SEO/lalu lintas/reputasi bersarang — lihat rincian di bawah.
auctions objek |batal Lot lelang dikelompokkan berdasarkan end_time — lihat rincian di bawah.

metricsDomainMetrics

Sebagian besar blok penyedia dapat berupa objek dengan data, false (tidak dimuat), atau null. categories dan blacklists juga bisa menjadi [] bila kosong.

Parameter Jenis Keterangan
openpagerank angka |bilangan bulat |boolean |batal Buka skor PageRank (biasanya 0..10) bila tersedia.
categories Data Kategori[] |boolean |batal Kategori konten dari penyedia klasifikasi.
blacklists Data Daftar Hitam[] |boolean |batal Daftar hitam keamanan/reputasi masuk.
ahrefs AhrefsData|boolean |batal Metrik domain Ahrefs.
majestic Data Agung |boolean |batal Aliran Kepercayaan/Kutipan yang Luar Biasa dan profil tautan balik.
moz MozData|boolean |batal Otoritas Moz, skor spam, dan detail tautan balik.
keywordseverywhere Kata Kuncidimana-manaData |boolean |batal Kata Kunci Di Mana Saja perkiraan lalu lintas/kata kunci.
similarweb Data Web Serupa |boolean |batal Kunjungan Web serupa, sumber, dan berbagi geografis.
brandscore Data Skor Merek |boolean |batal Komponen skor brandability.
karma_metric Data KarmaMetrik |boolean |batal Skor Karma Metric dari sejarah Wayback.
trustpilot Data Pilot Kepercayaan |boolean |batal Peringkat Trustpilot dan statistik ulasan.
google Data Google|boolean |batal Indeks Google dan sebutkan cuplikan SERP.
ai_summary tali |batal Teks ringkasan domain yang dihasilkan AI.

AhrefsData

Parameter Jenis Keterangan
domain_rating angka |batal Ahrefs DR.
url_rating angka |bilangan bulat |batal Ahrefs UR.
ahrefs_rank bilangan bulat |batal Peringkat Ahrefs (lebih rendah = lebih kuat).

MajesticData

Parameter Jenis Keterangan
tf, cf bilangan bulat |batal Aliran Kepercayaan / Aliran Kutipan (0..100).
backlinks, refdomains bilangan bulat |batal Tautan balik dan domain rujukan penting.
primary_topic tali |batal Kategori topikal utama.
topics susunan |batal Daftar distribusi topik.
anchor_lang susunan |batal Distribusi bahasa teks jangkar.
indexed_urls, referring_ips, referring_subnets bilangan bulat |batal Penghitung indeks dan keragaman jaringan.

MozData

Parameter Jenis Keterangan
moz_domain_authority bilangan bulat |batal Moz DA.
moz_spam_score bilangan bulat |batal Skor Spam Moz.
page_rank, moz_link_propensity angka |bilangan bulat |batal Peringkat lama dan kecenderungan tautan.
moz_*_to_subdomain bidang bilangan bulat |batal Penghitung grafik tautan Moz (halaman/domain, ikuti/nofollow/redirect/dihapus).
moz_da_history_values tali |batal Nilai riwayat DA berseri.
backlinks MozBacklink[] |batal Baris tautan balik (domain_source, url_source, domain_target, url_target, anchor_text, harmonic_centrality, last_found_date).

KeywordseverywhereData

Parameter Jenis Keterangan
etv bilangan bulat |batal Perkiraan nilai lalu lintas.
total_keywords bilangan bulat |batal Total kata kunci yang dilacak.
data Item Kata Kunci[] |batal Baris kata kunci (position, etv, keyword).

SimilarWebData

Parameter Jenis Keterangan
estimated_monthly_visits objek |batal Bulan → peta kunjungan.
traffic_sources Sumber Lalu Lintas |batal Pembagian saluran: Social, Paid Referrals, Mail, Referrals, Search, Direct (rasio 0..1).
top_country_shares Berbagi Negara[] |batal Distribusi geografis (Country, CountryCode, Value).
engagments Pertunangan |batal BounceRate, PagePerVisit, Visits, TimeOnSite, Month, Year.
category tali |batal Kategori situs Web serupa.

BrandscoreData

Parameter Jenis Keterangan
pronounceability, memorability, uniqueness, appeal, brandscore integer Komponen brandability dan skor akhir.

KarmaMetricData

Parameter Jenis Keterangan
karma_metric integer Skor akhir, 0..100.
components KarmaMetricComponents A_mass, A_cont, A_stab, A_trend (masing-masing 0..100).
period tali |batal Titik dalam format YYYY-MM (atau null jika tidak tersedia).

TrustpilotData

Parameter Jenis Keterangan
rating angka |batal Peringkat, biasanya 0..5.
reviews_count bilangan bulat |batal Jumlah ulasan.
category tali |batal Kategori bisnis Trustpilot.

GoogleData

Parameter Jenis Keterangan
google_index Item Google[] |batal Halaman yang diindeks untuk site:domain (rank, url, title, description).
google_mentions Item Google[] |batal Sebutkan hasil pencarian domain yang dikutip.

CategoryData / BlacklistsData

Model Bidang kunci
CategoryData categories[], vendor, info_url
BlacklistsData vendor, info_url, opsional info

web_archive (muatan Mesin Wayback)

Objek dengan tiga blok utama: info, ts_summary, history. Dalam tanggapan laporan lengkap, history dikembalikan paling lambat terlebih dahulu.

Parameter Jenis Keterangan
info objek |batal Ringkasan cakupan arsip untuk domain tersebut.
ts_summary objek |batal Sinyal KarmaScore / Wayback gabungan yang digunakan dalam filter tabel.
history array Garis waktu snapshot (satu objek per pengambilan Wayback).

web_archive.info

Parameter Jenis Keterangan
snap_counter integer Jumlah total snapshot Wayback dihitung.
years_counter integer Jumlah tahun dengan aktivitas arsip (sinyal usia domain).
first_ts integer Stempel waktu Unix dari snapshot pertama.
last_ts integer Stempel waktu Unix dari snapshot terbaru.
years object Tahun → peta jumlah snapshot bulanan (data grafik mini/kalender).

web_archive.ts_summary

Parameter Jenis Keterangan
average_karma_score integer Rata-rata KarmaScore, 0..100 (dipetakan ke bidang daftar karmascore).
wa_changes integer Jumlah perubahan konten yang signifikan dalam riwayat yang dipindai.
wa_langs array Baris distribusi bahasa: language, pageRatio (0..100).
wa_server_code array Distribusi kode HTTP: server_code (mis. 200, 301, 403), response_ratio (0..100).
wa_tags array Tag konten terdeteksi sepanjang riwayat.
pattern_shares array Baris berbagi pola: factor, description, share.
chart_data array Poin deret waktu: timestamp, karma_score, lang, server_code, tags, detected_patterns.

web_archive.history[] (baris cuplikan)

Parameter Jenis Keterangan
snaped_at integer Stempel waktu Snapshot Unix.
webarchive_link tali |batal URL Wayback untuk pengambilan ini (null pada penutupan snap placeholder).
headers objek |batal Metadata HTTP, biasanya status_code (200, 301, 302, 403, 404, 429, …), original_url.
screenshot boolean |batal true jika tangkapan layar ada (biner disimpan secara terpisah; ambil melalui API tangkapan layar di UI).
content_info objek |batal Konten halaman yang diurai (lihat di bawah).
karma_score objek |batal Skor per-snapshot: score (0..100), detected_patterns, tags (porno/crypto/judi/… bendera).
redirects susunan |batal Alihkan data rantai saat ada.
website_ids susunan |batal ID situs yang terdeteksi (name, website, ids[]) mis. tag analitik.
built_with objek |batal Muatan deteksi tumpukan teknologi (bila tersedia).

web_archive.history[].content_info

Parameter Jenis Keterangan
lang tali |batal Kode bahasa halaman terdeteksi.
title, description, keywords tali |batal Bidang teks meta/halaman yang digunakan dalam filter dan UI.
generator, author, copyright tali |batal Bidang meta tambahan.
h1h6 tali[] |batal Teks judul (dapat dicari melalui filter keywords).
cloud_words susunan |batal Entri awan kata (word).
external_links, internal_links susunan |batal Daftar tautan keluar/masuk.
rel_canonical, meta_robots tali |batal URL kanonik dan meta robot.
length_symbols, length_words integer Penghitung ukuran konten.

auctions (lot lelang)

Hadir ketika laporan memiliki data lelang (auctions, dan terkadang baris terkait di basis lain). Dalam respons laporan lengkap, lot dikelompokkan berdasarkan waktu berakhir:

{
  "1764441900": [
    { "source": "godaddy", "sale_type": "auction", "price": 120, "bids": 3, "...": "..." }
  ]
}
  • Kunci objek = end_time (Unix detik).
  • Nilai = kumpulan objek yang berakhir pada waktu tersebut (beberapa platform dapat berbagi satu kunci).
Parameter Jenis Keterangan
source string Platform lelang/sumber pendaftar (misalnya godaddy, namejet, dynadot, dropcatch, sedo, sav.com). Tidak peka huruf besar-kecil dalam filter.
sale_type string Jenis daftar (misalnya auction, buynow, Closeout, Pre-Release, Dropped).
domain string Nama domain untuk semuanya.
item_id string ID lot/listing khusus platform.
end_time integer Banyak waktu berakhir (Unix detik); juga digunakan sebagai kunci pengelompokan dalam laporan lengkap.
price number Harga saat ini (biasanya USD).
bids bilangan bulat |batal Jumlah tawaran bila berlaku.
currency string Simbol/kode mata uang (default "$").
report_type string Basis kepemilikan: auctions, backorder, atau buynow.
priority integer Pengurutan internal/bobot prioritas (default 0).

Tip filter: auction_source dalam pencarian menerima sumber biasa (godaddy) atau nilai gabungan source|sale_type (misalnya godaddy|auction).

Untuk batasan bidang yang tepat (aturan nullable, nilai enum, min/maks, objek bersarang), selalu gunakan OpenAPI atau ReDoc.

parameter report_type

Untuk laporan lengkap dan favorit: auctions, expired, backorder, buynow. Nilai all hanya digunakan dalam logika pencarian (semua database), bukan sebagai {report_type} di jalurnya.

Paginasi dan pengurutan (daftar titik akhir)

Parameter kueri:

Parameter Bawaan Keterangan
page 1 Nomor halaman
page_size 10 Ukuran halaman (maks 50)
sort_by added_at Urutkan nama kolom (seperti pada tabel UI; enum di OpenAPI)
sort_desc true true — menurun

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

Domain di URL

Untuk {domain} di jalur, gunakan encoding persen (IDN, Sirilik, dll.). Server menormalkan nama (punycoded/huruf kecil).

Alur kerja yang khas

1. Pencarian → laporan lengkap

  1. POST https://api.karma.domains/v1/reports/search dengan badan filter (lihat OpenAPIReportListFilterSchema).
  2. Dari report_list[], ambil report_id dan report_type.
  3. GET https://api.karma.domains/v1/reports/{report_type}/{report_id}.

Filter cocok dengan filters in the web UI — mudah dibandingkan dengan UI; lihat OpenAPI untuk skema bidang.

2. Domain tepat tanpa pencarian panjang

  1. GET /v1/reports/by-domain/example.com
  2. Sebagai tanggapan, matches[] — hingga satu entri per database tempat domain tersebut berada.
  3. Pilih report_typeGET /v1/reports/{report_type}/{report_id} yang diperlukan.

Jika matches kosong — domain tersebut tidak ada dalam database Karma.

3. Favorit

  • Daftar saja: GET /v1/reports/favorites
  • Daftar yang sama melalui pencarian: POST /v1/reports/search dengan "favorites": true di badan
  • Tambahkan: POST /v1/reports/favorites dengan {"report_id": "...", "report_type": "expired"}
  • Hapus: DELETE /v1/reports/favorites/expired/{report_id}

4. Drop check (laporan kadaluwarsa)

GET /v1/reports/check/expired/{report_id}id laporan, bukan nama domain.

  • Jika pemeriksaan berhasil, perbarui catatan laporan di server
  • is_expired: true — domain kemungkinan tersedia untuk didaftarkan (bukan “tanggal kedaluwarsa WHOIS telah berlalu”)
  • Ulangi pemeriksaan langsung untuk laporan yang sama — paling banyak setiap 3 jam sekali (aturan bisnis)
  • Respons HTTP di-cache 1 jam untuk GET berulang dengan report_id yang sama (lihat “Caching”)

5. Pengecekan domain tanpa laporan di database

GET /v1/domains/checker/expiry/{domain} — WHOIS/DNS aktif; tidak mengubah laporan database.

  • available: true — kemungkinan besar dapat didaftarkan
  • available: false — diambil atau dipesan
  • Permintaan berulang untuk domain yang sama dalam ~1 jam dapat mengembalikan respons yang di-cache

6. Metrik Karma dengan cepat

GET /v1/domains/checker/karma_metric/{domain} — Metrik Karma dari WayBack Machine; tidak memperbarui laporan. Bidang tanggapan — OpenAPI (KarmaMetricData). Cache respons per domain — ~1 jam.

Baca lebih lanjut tentang Metrik Karma in the blog

7. Keseimbangan dan rencana

GET /v1/user — email, balance (kredit), bendera paket, data langganan. Kunci API tidak ada dalam respons. Respons di-cache ~1 menit per kunci — jangan melakukan polling lebih sering dari yang diperlukan untuk mendapatkan saldo terkini.

cache

Pada tingkat API Publik, isi respons HTTP di-cache. Beberapa titik akhir menggunakan penyegaran awal (penyegaran latar belakang sebelum TTL berakhir: 4 menit selama 5 menit TTL, 50 menit untuk 1 jam TTL).

Titik akhir TTL
POST /v1/reports/search 5 menit
GET /v1/reports/favorites 5 menit
POST /v1/reports/favorites tidak ada
DELETE /v1/reports/favorites/{report_type}/{report_id} tidak ada
GET /v1/reports/by-domain/{domain} 5 menit
GET /v1/reports/check/expired/{report_id} 1 jam
GET /v1/reports/{report_type}/{report_id} tidak ada
GET /v1/user 1 menit
GET /v1/domains/checker/expiry/{domain} 1 jam
GET /v1/domains/checker/karma_metric/{domain} 1 jam

POST/DELETE favorit segera mengubah data server, tetapi pengulangan GET /favorites atau POST /search dengan favorites: true dapat mengembalikan daftar basi hingga cache kedaluwarsa (5 menit).

Contoh permintaan (ikal)

Ganti YOUR_API_KEY dengan kunci profil Anda. URL Dasar: https://api.karma.domains.

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

Isi filter — bidang apa pun dari ReportListFilterSchema di OpenAPI.

Laporan lengkap

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

Cari berdasarkan domain

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

Tambahkan ke favorit

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

Pemeriksaan ketersediaan domain

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

Metrik Karma

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

Kasus penggunaan integrasi

Jalur seleksi yang habis masa berlakunya setiap malam

Cron harian: POST /search dengan filter JSON yang disimpan (seperti saved filter di UI), penomoran halaman dengan page_size=50, ekspor report_id ke DB Anda. Analisis terperinci — GET laporan lengkap hanya untuk daftar terpilih.

Memantau daftar nama sebelum pendaftaran

Antrian domain → GET /domains/checker/expiry/{domain} → cabang di available. Tidak memerlukan laporan di Karma.Domains.

Menyinkronkan favorit dengan CRM internal

Berkala GET /favorites; tentang tindakan pengguna di CRM — POST/DELETE favorit. Akun untuk ~5 menit cache daftar.

Analisis BI/corong

Ekspor halaman pencarian, agregat total_count dan metrik dari report_list tanpa membuka UI. Skema baris daftar — ReportListResponseSchema di OpenAPI.

MCP + skrip pada satu kunci

Tim menggunakan MCP di Kursor untuk pencarian ad-hoc dan API Publik untuk ETL stabil. Total 60 permintaan per menit — merencanakan batch dan backoff pada 429.

MCP dan API Publik

API Publik (REST) MCP
Hadirin Pengembang, skrip, ETL Asisten AI (Kursor, Claude)
Antarmuka HTTP+JSON Dialog, alat
dokumen Halaman ini + OpenAPI /id/expired-domains-mcp/
Data Laporan dan database yang sama Sama
Kunci & batas Dibagikan Dibagikan

Untuk integrasi kode baru, mulailah dengan REST. Untuk eksperimen obrolan — MCP.

Pertanyaan Umum

Di mana referensi bidang filter lengkap?

OpenAPI, skema ReportListFilterSchema. Arti bidang cocok dengan filter help di UI.

Apa perbedaan antara available dan is_expired?

Keduanya dalam konteks API berarti: domain kemungkinan tersedia untuk didaftarkan. available — cek langsung berdasarkan nama (/domains/checker/expiry). is_expired — cek yang terkait dengan laporan database yang kedaluwarsa (/reports/check/expired/{report_id}).

Mengapa 403 dengan kunci yang benar?

Tidak ada paket Pro yang aktif. Periksa langganan di profil.

Mengapa respons API tidak cocok dengan UI atau tindakan yang baru saja dilakukan?

Cache HTTP API publik — lihat tabel di “Caching”. Perhitungkan TTL saat menyinkronkan dengan UI.

Nilai sort_by apa yang diperbolehkan?

Daftar enum di OpenAPI — nama kolom tabel laporan di aplikasi web.

Apakah saya memerlukan halaman ini jika OpenAPI ada?

OpenAPI adalah sumber kebenaran untuk tipe dan bidang. Halaman ini menambahkan konteks: batasan, cache, urutan panggilan, kasus penggunaan, dan kendala yang tidak ada dalam skema.

Apakah ada kotak pasir?

Tidak ada kotak pasir terpisah; gunakan akun Pro dan patuhi batasan tarif. Untuk debugging, GET /user dan POST /search sempit dengan filter ketat berfungsi dengan baik.

Kode kesalahan

Kode Arti
200 Kesuksesan
401 Tidak sah (kunci)
403 Tidak ada Pro
404 Laporan atau sumber daya tidak ditemukan
422 Kesalahan validasi isi/kueri (filter tidak valid, sort_by, …)
429 Batas tarif terlampaui
503 Pembatas tarif untuk sementara tidak tersedia

Badan kesalahan biasanya memiliki detail (string atau array objek validasi). Contoh:

{
  "detail": "Invalid API key"
}

Tautan yang bermanfaat

Coba gratis!

Gunakan kredit bonus!

Buka daftar domain
+5