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
- Otentikasi
- Pembatasan tarif
- Daily row quota
- Ikhtisar titik akhir
- Referensi parameter model
ReportListFilterSchema(badan permintaan untukPOST /v1/reports/search)ReportListResponseSchema(respon untukPOST /searchdanGET /favorites)ReportFullResponseSchema(tanggapan untukGET /v1/reports/{report_type}/{report_id})- parameter
report_type - Paginasi dan pengurutan (daftar titik akhir)
- Domain di URL
- Alur kerja yang khas
- cache
- Contoh permintaan (ikal)
- Kasus penggunaan integrasi
- MCP dan API Publik
- Pertanyaan Umum
- Di mana referensi bidang filter lengkap?
- Apa perbedaan antara
availabledanis_expired? - Mengapa 403 dengan kunci yang benar?
- Mengapa respons API tidak cocok dengan UI atau tindakan yang baru saja dilakukan?
- Nilai
sort_byapa yang diperbolehkan? - Apakah saya memerlukan halaman ini jika OpenAPI ada?
- Apakah ada kotak pasir?
- Kode kesalahan
- Tautan yang bermanfaat
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
- Paket Pro (tanpa Pro, API tidak tersedia).
- 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:
nullatau 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/*_maxyang 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. |
metrics → DomainMetrics
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. |
h1 … h6 | 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
POST https://api.karma.domains/v1/reports/searchdengan badan filter (lihat OpenAPI →ReportListFilterSchema).- Dari
report_list[], ambilreport_iddanreport_type. 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
GET /v1/reports/by-domain/example.com- Sebagai tanggapan,
matches[]— hingga satu entri per database tempat domain tersebut berada. - Pilih
report_type→GET /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/searchdengan"favorites": truedi badan - Tambahkan:
POST /v1/reports/favoritesdengan{"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_idyang 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 didaftarkanavailable: 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
- OpenAPI (Keangkuhan): https://api.karma.domains/docs
- ReDok: https://api.karma.domains/redoc
- MCP for AI
- Kunci API: Profile → Settings
- UI filter help