เอกสาร API ของ Expired Domains

REST API เดียวที่ตอบกลับเป็น JSON สําหรับ domain intelligence: เมตริก SEO (TF, CF, DA, DR, Age, Backlinks, Traffic ฯลฯ), ประวัติ Wayback Machine, โดเมนใหม่ 400,000+ ทุกวัน, แหล่งข้อมูลโดเมน 30+, และฟิลเตอร์ 90+ แบบเพื่อการค้นหาที่แม่นยํา รวมถึง live auctions, expired domains, รายงานฉบับเต็ม, รายการโปรด, การตรวจสอบความพร้อมใช้งาน, Karma Metric และข้อมูลโปรไฟล์ ใช้ Pro Bearer key, 60 คําขอต่อนาที

ลองใช้ฟรี!
ใช้เครดิตโบนัส!

Public API ของ Karma.Domains ให้การเข้าถึงรายงานโดเมนแบบโปรแกรม: auctions, expired, backorder และ buy-now ทุกการตอบกลับเป็น JSON ผ่าน HTTPS Base URL: https://api.karma.domains, route prefix: /v1.

Karma.Domains คือแพลตฟอร์ม domain intelligence สําหรับนักลงทุน ทีม SEO และ automation pipelines:

  • โดเมนใหม่ 400,000+ ต่อวัน ใน discovery และ monitoring flows (รวมทั้งหมด 7,000,000+ โดเมน)
  • แหล่งข้อมูลโดเมน 30+ โดยรวม รวมถึง แหล่ง auction/expired/backorder/buy-now 27+ (GoDaddy, NameJet, DropCatch, Dynadot, GNAME, Namecheap ฯลฯ)
  • ฟิลเตอร์ 90+ เพื่อการค้นหาที่แม่นยําตามคุณภาพโดเมน SEO ประวัติคอนเทนต์ และสัญญาณการประมูล (TF, CF, DA, DR, Age, Backlinks, Traffic, Keywords, Anchor Text ฯลฯ)
  • ครอบคลุม TLD และ ccTLD (เช่น .com, .net, .org, .biz, .info, .at, .be, .ca, .cc, .cl, .co, .co.nz)
  • ข้อมูล SEO และ authority จากผู้ให้บริการหลัก: Ahrefs, Majestic, Moz, SimilarWeb
  • คอนเทนต์ย้อนหลังและสัญญาณการเปลี่ยนแปลงผ่าน Wayback Machine

Request และ response schemas (ฟิลด์ฟิลเตอร์ โครงสร้างรายงาน sort enums) — ดูในเอกสารเชิงโต้ตอบ: Swagger UI หรือ ReDoc.
หน้านี้เป็นภาพรวมการอินทิเกรต: การยืนยันตัวตน ลิมิต รายการเอ็นด์พอยต์ workflow ทั่วไป และตัวอย่าง

Introduction

Public API ออกแบบมาสําหรับสคริปต์ แดชบอร์ดภายใน ระบบ CRM และระบบอัตโนมัติใดๆ ที่ต้องการข้อมูลเดียวกับ Karma.Domains web app

  • Format: JSON
  • API version: 1.0.0
  • Databases: auctions, expired, backorder, buynow; ค้นหาพร้อมกันทุกฐาน — POST /v1/reports/search (เหมือนตาราง “all databases” ใน UI)
  • Field documentation: มีเฉพาะใน OpenAPI
  • ใช้งานได้เฉพาะในแผน Pro ขึ้นไป

Authentication

ทุกคําขอต้องมี header นี้:

Authorization: Bearer YOUR_API_KEY

วิธีรับ API key

  1. ต้องอยู่ในแผน Pro (หากไม่มี Pro จะใช้ API ไม่ได้)
  2. ไปที่ Profile → Settings — สร้างหรือรีเซ็ตคีย์ในส่วน API key

คีย์เดียวกันใช้กับ MCP server (ผู้ช่วย AI) ด้วย โดยลิมิตคําขอถูก แชร์ ระหว่าง REST และ MCP

การตอบกลับทั่วไปเมื่อคีย์ไม่ถูกต้อง

Code Reason
401 ไม่มี header, คีย์ไม่ถูกต้อง, หรือพิมพ์ Bearer ผิด
403 คีย์ถูกต้อง แต่บัญชีไม่มี Pro ที่ active (Pro plan required for API access)

ส่ง Accept: application/json ทุกครั้ง

Rate limiting

  • 60 คําขอต่อนาที ต่อ API key
  • หน้าต่างเวลา: 60 วินาที
  • ตัวนับ แชร์ร่วมกัน ทุก Public API endpoint และ MCP

การตอบกลับที่สําเร็จจะมี header:

Header Description
X-RateLimit-Limit ลิมิต (60)
X-RateLimit-Remaining คําขอที่เหลือในหน้าต่างปัจจุบัน
X-RateLimit-Reset Unix timestamp เมื่อหน้าต่างรีเซ็ต

เมื่อเกินลิมิต: 429 Too Many Requests และ header Retry-After (จํานวนวินาทีก่อน retry)

Tips: ใช้ page_size ได้สูงสุด 50 สําหรับรายการ; อย่า poll POST /search บ่อยเกินความจําเป็น — ผลลัพธ์ถูกแคช (ดู “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 overview

พารามิเตอร์ query/body แบบเต็ม — อยู่ใน OpenAPI

Method Path Purpose
POST /v1/reports/search ค้นหารายงานด้วย body ReportListFilterSchema, pagination, sorting
GET /v1/reports/favorites รายการรายงานที่ผู้ใช้ปัจจุบันกด favorite
POST /v1/reports/favorites เพิ่มรายงานเข้า favorites
DELETE /v1/reports/favorites/{report_type}/{report_id} ลบออกจาก favorites
GET /v1/reports/by-domain/{domain} หา report IDs จากชื่อโดเมนแบบ ตรงตัว
GET /v1/reports/{report_type}/{report_id} รายงานฉบับเต็มจากประเภทธานข้อมูลและ report id
GET /v1/reports/check/expired/{report_id} ตรวจว่าโดเมน drop แล้วหรือไม่สําหรับรายงาน expired
GET /v1/user โปรไฟล์ผู้ใช้ (PublicUserProfileSchema)
GET /v1/domains/checker/expiry/{domain} ตรวจสด: โดเมนพร้อมจดทะเบียนหรือไม่
GET /v1/domains/checker/karma_metric/{domain} คํานวณ Karma Metric แบบสดผ่าน WayBack Machine

Model parameters reference

ด้านล่างคือแผนที่พารามิเตอร์เชิงปฏิบัติสําหรับ 3 โมเดลหลักของ OpenAPI ที่กําหนดความสามารถส่วนใหญ่ของ API

ReportListFilterSchema (request body ของ POST /v1/reports/search)

ความหมายของค่าที่ใช้ใน schema นี้:

  • null หรือไม่ส่งฟิลด์ = ไม่ใช้ฟิลเตอร์
  • ฟิลด์ query แบบ string รองรับ , เป็น AND และ | เป็น OR ตามที่ระบุในเอกสาร
  • ช่วงวันที่เป็น array ของ 2 string: [from, to]
  • ช่วงคะแนนส่วนใหญ่ใช้ *_min / *_max แบบรวมขอบเขต
Parameter Type Description
domain string | null ฟิลเตอร์ substring ของโดเมน ไม่สนตัวพิมพ์เล็ก/ใหญ่ , = AND (ทุกคําต้องตรง), | = OR (คําใดคําหนึ่งตรง). ความยาวสูงสุด 350
tlds string | null รายการ TLD คั่นด้วย comma หรือ space (เช่น .com .net .org). ความยาวสูงสุด 350
domain_type string[] | null ค่าที่รองรับ: auctions, backorder, buynow, expired. ใช้ OR ระหว่างค่าที่เลือก
favorites boolean | null true = เฉพาะรายการโปรด, false = ตัดรายการโปรดออก ต้องมีบริบทผู้ใช้ที่ยืนยันตัวตนแล้ว
categories string[] | null OR ตามหมวดหมู่ รองรับรูปแบบ Category / Subcategory, จับคู่ substring แบบไม่สนตัวพิมพ์
languages string คิวรีภาษาแบบ , (AND) / | (OR), จับคู่ substring แบบไม่สนตัวพิมพ์ ความยาวสูงสุด 350
keywords string | null ค้นหาในคอนเทนต์ Wayback (title, description, h1-h6 ฯลฯ). , = AND, | = OR. ความยาวสูงสุด 350
website_ids string[] IDs แบบ GA/Metrika เพื่อหาโดเมน owner เดียวกัน
domain_length_min / domain_length_max integer | null ขอบเขตความยาวโดเมน (ระบุไว้เป็น 1..30)
domain_numbers / domain_hyphens boolean บังคับ/ตัดการมีตัวเลขและเครื่องหมายยัติภังค์ในชื่อโดเมน
report_added_time string[2] | null ช่วงวันที่: ["YYYY-MM-DD","YYYY-MM-DD"]. Backend ปรับขอบเขตต้นวัน/ท้ายวันอัตโนมัติ
karmascore_min / karmascore_max integer | null ช่วง KarmaScore, 0..100
karmametric_min / karmametric_max integer | null ช่วง Karma Metric, 0..100
brandscore_min / brandscore_max integer | null ช่วง Brandscore, 0..100
openpagerank_min / openpagerank_max integer | null ช่วง Open PageRank (ระบุไว้ 0..10)
ahrefs_dr_min / ahrefs_dr_max number | null ช่วง Ahrefs DR, 0..100
ahrefs_ur_min / ahrefs_ur_max number | null ช่วง Ahrefs UR, 0..100
ahrefs_ar_min / ahrefs_ar_max integer | null ช่วง Ahrefs Rank (>= 0)
majestic_tf_min / majestic_tf_max integer | null ช่วง Majestic TF, 0..100
majestic_cf_min / majestic_cf_max integer | null ช่วง Majestic CF, 0..100
majestic_bl_min / majestic_bl_max integer ช่วง backlinks ของ Majestic
majestic_rd_min / majestic_rd_max integer ช่วง referring domains ของ Majestic
majestic_topics / majestic_lang string[] / string ฟิลเตอร์หัวข้อและภาษา anchor
moz_da_min / moz_da_max integer | null ช่วง Moz DA, 0..100
moz_ss_min / moz_ss_max integer | null ช่วง Moz Spam Score, 0..100
moz_bl_min / moz_bl_max integer ช่วง backlinks ของ Moz
moz_rd_min / moz_rd_max integer ช่วง referring domains ของ Moz
moz_bl_url / moz_bl_anchor string ฟิลเตอร์ Moz backlink URL / anchor phrase
sw_visits_min / sw_visits_max integer ช่วง visits ของ SimilarWeb
sw_last_traffic_date string[2] | null ช่วงเดือน SimilarWeb: ["YYYY-MM","YYYY-MM"]
sw_country_filters object[] ฟิลเตอร์สัดส่วนประเทศ (country, share_min แบบ optional)
sw_ts_direct_min...sw_ts_social_max number | null ช่วงสัดส่วนช่องทางที่มาทราฟฟิก SimilarWeb, 0..100
wa_age_min / wa_age_max integer | null อายุโดเมนใน Wayback (ปี)
wa_first_snap / wa_last_snap string[2] | null ช่วงวันที่: ["YYYY-MM-DD","YYYY-MM-DD"] สําหรับหน้าต่าง snapshot แรก/ล่าสุด
wa_changes_min/max, wa_redirects_min/max, wa_parkings_min/max integer ตัวนับประวัติ Wayback
wa_hieroglyphs, wa_redirects, wa_error403 boolean แฟลกคุณภาพคอนเทนต์ Wayback
wa_lang_filters object[] ฟิลเตอร์ภาษา Wayback (language, ratio_min แบบ optional)
wa_server_code, wa_server_code_ratio_min/max integer | null / number | null ฟิลเตอร์ server code Wayback (เช่น 200, 301, 302, 403, 404) + ช่วง ratio 0..100
ke_etv_min/max, ke_total_min/max integer ช่วง traffic value / keywords ของ Keywords Everywhere
ke_keyword string ฟิลเตอร์วลี Keywords Everywhere
google_has_index, google_has_mentions boolean | null ความหมายแบบ true/false/unset สําหรับการบังคับ index หรือ mentions ใน Google SERP
google_title_index/mentions, google_description_index/mentions string ฟิลเตอร์วลี title/description ของ SERP snippet
trustpilot_rating_min/max, trustpilot_reviews_count_min/max number | null / integer | null ช่วง rating Trustpilot (0..5) และช่วงจํานวนรีวิว
trustpilot_category string ฟิลเตอร์วลีหมวดหมู่ Trustpilot
auction_source string[] | null ชื่อแหล่งประมูล (ไม่สนตัวพิมพ์) หรือค่าประกอบ `source
auction_end_time, auction_added_time string[2] | null ช่วงวันที่: ["YYYY-MM-DD","YYYY-MM-DD"]
auction_price_min/max number ช่วงราคาประมูล
auction_bids_min/max integer ช่วงจํานวน bid ของการประมูล
combine_seo object | null CombineSEOFilter แบบ cross-vendor: authority/backlinks/refdomains/traffic/keywords/backlink-url/anchors โดยมี OR logic ตาม vendor ในแต่ละแถว และ AND ระหว่างแถว

ReportListResponseSchema (response ของ POST /search และ GET /favorites)

Parameter Type Description
report_list ReportItem[] แถวแบบแบ่งหน้าสําหรับมุมมองตารางและการสร้าง shortlist
total_count integer จํานวนรวมของข้อมูลที่ตรงกับฟิลเตอร์ปัจจุบัน

ฟิลด์ระดับแถวใน report_list[] (จาก ReportItem) ได้แก่:

Parameter Type Description
report_id string ตัวระบุรายงานที่คงที่ (ใช้กับรายงานฉบับเต็มและ favorites)
report_type string หนึ่งใน auctions, expired, backorder, buynow
domain, domain_tld string ชื่อโดเมนและ TLD
added_at, updated_at integer Timestamp
processed, demo, is_expired boolean แฟลกสถานะที่ใช้ใน workflow UI/API
karmascore, karmametric, brandscore integer เมตริกหลักด้านคุณภาพ/brandability
ahrefs_dr, ahrefs_ur number เมตริกสรุปของ Ahrefs
majestic_tf/cf/bl/rd, moz_da/ss/bl/rd integer เมตริกสรุปของ Majestic และ Moz
ke_etv, ke_total integer ค่าสรุปของ Keywords Everywhere
sw_last_traffic, sw_country_share, sw_sources integer/object สรุปทราฟฟิก SimilarWeb
wa_age, wa_last_snap, wa_changes, wa_langs, wa_server_code integer/array สัญญาณสรุป Wayback
google_index, trustpilot_rating, trustpilot_reviews_count boolean/number/integer ฟิลด์สรุป Google/Trustpilot
auctions array/object สรุปรายการประมูล หากมี

ReportFullResponseSchema (response ของ GET /v1/reports/{report_type}/{report_id})

Parameter Type Description
report_id, report_type, domain, domain_tld string ฟิลด์ตัวตนหลัก
domain_length, domain_numbers, domain_hyphens integer/boolean คุณลักษณะโครงสร้างโดเมน
favorite, demo, processed, is_expired boolean สถานะรายงานและแฟลกที่เกี่ยวข้องกับผู้ใช้
added_at, updated_at, created_at, checked_at, expire_checked_at integer Timestamp ของ lifecycle
providers_status object แผนที่สถานะการประมวลผลราย provider (ค่าแบบ string)
web_archive object ข้อมูล Wayback Machine — ดูรายละเอียดด้านล่าง
metrics DomainMetrics เมตริก SEO/traffic/reputation แบบซ้อน — ดูรายละเอียดด้านล่าง
auctions object | null ล็อตประมูลที่จัดกลุ่มตาม end_time — ดูรายละเอียดด้านล่าง

metricsDomainMetrics

บล็อกของ provider ส่วนใหญ่สามารถเป็น object ที่มีข้อมูล, false (ยังไม่โหลด), หรือ null ได้ โดย categories และ blacklists อาจเป็น [] ได้เช่นกันเมื่อว่าง

Parameter Type Description
openpagerank number | integer | boolean | null คะแนน Open PageRank (โดยทั่วไป 0..10) เมื่อมีข้อมูล
categories CategoryData[] | boolean | null หมวดหมู่คอนเทนต์จากผู้ให้บริการจัดหมวด
blacklists BlacklistsData[] | boolean | null การติด blacklist ด้านความปลอดภัย/ความน่าเชื่อถือ
ahrefs AhrefsData | boolean | null เมตริกโดเมน Ahrefs
majestic MajesticData | boolean | null Majestic Trust/Citation Flow และโปรไฟล์ backlink
moz MozData | boolean | null Moz authority, spam score และรายละเอียด backlink
keywordseverywhere KeywordseverywhereData | boolean | null ประมาณการ traffic/keyword ของ Keywords Everywhere
similarweb SimilarWebData | boolean | null SimilarWeb visits, sources และ geo share
brandscore BrandscoreData | boolean | null องค์ประกอบคะแนน brandability
karma_metric KarmaMetricData | boolean | null คะแนน Karma Metric จากประวัติ Wayback
trustpilot TrustpilotData | boolean | null คะแนน Trustpilot และสถิติรีวิว
google GoogleData | boolean | null Google index และ mention SERP snippets
ai_summary string | null ข้อความสรุปโดเมนที่สร้างโดย AI

AhrefsData

Parameter Type Description
domain_rating number | null Ahrefs DR
url_rating number | integer | null Ahrefs UR
ahrefs_rank integer | null Ahrefs Rank (ยิ่งน้อยยิ่งแข็งแรง)

MajesticData

Parameter Type Description
tf, cf integer | null Trust Flow / Citation Flow (0..100)
backlinks, refdomains integer | null จํานวน backlinks และ referring domains
primary_topic string | null หมวดหมู่หัวข้อหลัก
topics array | null รายการการกระจาย topic
anchor_lang array | null การกระจายภาษาของ anchor text
indexed_urls, referring_ips, referring_subnets integer | null ตัวนับด้านดัชนีและความหลากหลายเครือข่าย

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 และ link propensity
moz_*_to_subdomain fields integer | null ตัวนับกราฟลิงก์ Moz (pages/domains, follow/nofollow/redirect/deleted)
moz_da_history_values string | null ค่า DA history แบบ serialized
backlinks MozBacklink[] | null แถว backlink (domain_source, url_source, domain_target, url_target, anchor_text, harmonic_centrality, last_found_date)

KeywordseverywhereData

Parameter Type Description
etv integer | null ค่าทราฟฟิกโดยประมาณ
total_keywords integer | null จํานวน keyword ที่ติดตามทั้งหมด
data KeywordItem[] | null แถว keyword (position, etv, keyword)

SimilarWebData

Parameter Type Description
estimated_monthly_visits object | null แผนที่ เดือน → visits
traffic_sources TrafficSources | null สัดส่วนช่องทาง: Social, Paid Referrals, Mail, Referrals, Search, Direct (ratio 0..1)
top_country_shares CountryShare[] | null การกระจายทางภูมิศาสตร์ (Country, CountryCode, Value)
engagments Engagements | null BounceRate, PagePerVisit, Visits, TimeOnSite, Month, Year
category string | null หมวดหมู่เว็บไซต์ SimilarWeb

BrandscoreData

Parameter Type Description
pronounceability, memorability, uniqueness, appeal, brandscore integer องค์ประกอบ brandability และคะแนนสุดท้าย

KarmaMetricData

Parameter Type Description
karma_metric integer คะแนนสุดท้าย, 0..100
components KarmaMetricComponents A_mass, A_cont, A_stab, A_trend (แต่ละค่า 0..100)
period string | null ช่วงเวลาในรูปแบบ YYYY-MM (หรือ null หากไม่มีข้อมูล)

TrustpilotData

Parameter Type Description
rating number | null คะแนน โดยทั่วไป 0..5
reviews_count integer | null จํานวนรีวิว
category string | null หมวดธุรกิจ Trustpilot

GoogleData

Parameter Type Description
google_index GoogleItem[] | null หน้า index สําหรับ site:domain (rank, url, title, description)
google_mentions GoogleItem[] | null ผลลัพธ์ mentions จากการค้นหาโดเมนแบบใส่เครื่องหมายอัญประกาศ

CategoryData / BlacklistsData

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

web_archive (payload ของ Wayback Machine)

อ็อบเจ็กต์มี 3 บล็อกหลัก: info, ts_summary, history โดยใน response แบบ full report ค่า history จะเรียงจากใหม่ไปเก่า

Parameter Type Description
info object | null สรุปขอบเขตการเก็บข้อมูล archive ของโดเมน
ts_summary object | null สัญญาณ KarmaScore / Wayback แบบรวมที่ใช้ในตารางฟิลเตอร์
history array ไทม์ไลน์ snapshot (หนึ่งอ็อบเจ็กต์ต่อหนึ่ง Wayback capture)

web_archive.info

Parameter Type Description
snap_counter integer จํานวน snapshot Wayback ทั้งหมดที่นับได้
years_counter integer จํานวนปีที่มี activity ใน archive (สัญญาณอายุโดเมน)
first_ts integer Unix timestamp ของ snapshot แรก
last_ts integer Unix timestamp ของ snapshot ล่าสุด
years object แผนที่ ปี → จํานวน snapshot รายเดือน (ข้อมูล sparkline/calendar)

web_archive.ts_summary

Parameter Type Description
average_karma_score integer ค่าเฉลี่ย KarmaScore, 0..100 (แมปกับ list field karmascore)
wa_changes integer จํานวนการเปลี่ยนแปลงคอนเทนต์ที่มีนัยสําคัญในประวัติที่สแกน
wa_langs array แถวการกระจายภาษา: language, pageRatio (0..100)
wa_server_code array การกระจาย HTTP code: server_code (เช่น 200, 301, 403), response_ratio (0..100)
wa_tags array แท็กคอนเทนต์ที่ตรวจพบตลอดประวัติ
pattern_shares array แถวสัดส่วน pattern: factor, description, share
chart_data array จุดข้อมูล time series: timestamp, karma_score, lang, server_code, tags, detected_patterns

web_archive.history[] (แถว snapshot)

Parameter Type Description
snaped_at integer Unix timestamp ของ snapshot
webarchive_link string | null URL ของ Wayback สําหรับ capture นี้ (null ใน closing placeholder snap)
headers object | null HTTP metadata, โดยทั่วไปคือ status_code (200, 301, 302, 403, 404, 429, …), original_url
screenshot boolean | null true หากมี screenshot (ไฟล์ไบนารีเก็บแยก; ดึงผ่าน screenshot API ใน UI)
content_info object | null ข้อมูลเนื้อหาหน้าเว็บที่ parse แล้ว (ดูด้านล่าง)
karma_score object | null คะแนนต่อ snapshot: score (0..100), detected_patterns, tags (flags porno/crypto/gambling/...)
redirects array | null ข้อมูล redirect chain เมื่อมี
website_ids array | null site IDs ที่ตรวจพบ (name, website, ids[]) เช่น analytics tags
built_with object | null payload ตรวจจับเทคโนโลยี stack (เมื่อมี)

web_archive.history[].content_info

Parameter Type Description
lang string | null รหัสภาษาของหน้าเว็บที่ตรวจพบ
title, description, keywords string | null ฟิลด์ meta / ข้อความหน้าเว็บที่ใช้ในฟิลเตอร์และ UI
generator, author, copyright string | null ฟิลด์ meta เพิ่มเติม
h1h6 string[] | null ข้อความหัวข้อ (ค้นหาได้ด้วยฟิลเตอร์ keywords)
cloud_words array | null รายการ word cloud (word)
external_links, internal_links array | null รายการลิงก์ออก/ลิงก์ภายใน
rel_canonical, meta_robots string | null Canonical URL และ meta robots
length_symbols, length_words integer ตัวนับขนาดคอนเทนต์

auctions (ล็อตประมูล)

มีเมื่อรายงานนั้นมีข้อมูลการประมูล (auctions และบางครั้งมีแถวที่เกี่ยวข้องในฐานอื่น)
ใน response แบบ full report ล็อตจะถูกจัดกลุ่มตามเวลาสิ้นสุด:

{
  "1764441900": [
    { "source": "godaddy", "sale_type": "auction", "price": 120, "bids": 3, "...": "..." }
  ]
}
  • Object key = end_time (Unix seconds)
  • Value = array ของ lot objects ที่จบเวลาเดียวกัน (หลายแพลตฟอร์มอาจใช้คีย์เดียวกันได้)
Parameter Type Description
source string แหล่งที่มาของแพลตฟอร์ม/registrar การประมูล (เช่น godaddy, namejet, dynadot, dropcatch, sedo, sav.com) ไม่สนตัวพิมพ์ในฟิลเตอร์
sale_type string ประเภท listing (เช่น auction, buynow, Closeout, Pre-Release, Dropped)
domain string ชื่อโดเมนของล็อต
item_id string lot/listing id เฉพาะแพลตฟอร์ม
end_time integer เวลาสิ้นสุดล็อต (Unix seconds); ใช้เป็น grouping key ใน full report ด้วย
price number ราคาปัจจุบัน (ปกติเป็น USD)
bids integer | null จํานวน bid ถ้าใช้ได้
currency string สัญลักษณ์/รหัสสกุลเงิน (ค่าเริ่มต้น "$")
report_type string ฐานเจ้าของรายการ: auctions, backorder หรือ buynow
priority integer ค่าน้ําหนักการเรียง/ลําดับความสําคัญภายใน (ค่าเริ่มต้น 0)

Filter tip: auction_source ในการค้นหารองรับทั้งค่าแหล่งแบบเดี่ยว (godaddy) และค่าแบบประกอบ source|sale_type (เช่น godaddy|auction)

สําหรับข้อจํากัดฟิลด์แบบละเอียด (nullable rules, enum values, min/max, nested objects) ให้ใช้ OpenAPI หรือ ReDoc เสมอ

พารามิเตอร์ report_type

สําหรับ full report และ favorites: auctions, expired, backorder, buynow
ค่า all ใช้เฉพาะใน search logic (ทุกฐานข้อมูล) ไม่ได้ใช้เป็น {report_type} ใน path

Pagination และ sorting (list endpoints)

Query parameters:

Parameter Default Description
page 1 หมายเลขหน้า
page_size 10 ขนาดหน้า (สูงสุด 50)
sort_by added_at ชื่อคอลัมน์การเรียง (เหมือนในตาราง UI; enum ใน OpenAPI)
sort_desc true true — เรียงจากมากไปน้อย

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

โดเมนใน URL

สําหรับ {domain} ใน path ให้ใช้ percent-encoding (IDN, Cyrillic ฯลฯ) เซิร์ฟเวอร์จะ normalize ชื่อ (punycoded/lowercase)

Typical workflows

1. Search → full report

  1. POST https://api.karma.domains/v1/reports/search พร้อม body ฟิลเตอร์ (ดู OpenAPIReportListFilterSchema)
  2. จาก report_list[] ให้นํา report_id และ report_type
  3. GET https://api.karma.domains/v1/reports/{report_type}/{report_id}

ฟิลเตอร์ตรงกับ filters ใน web UI — เปรียบเทียบกับ UI ได้ง่าย; schema ของฟิลด์ดูจาก OpenAPI

2. หาโดเมนแบบตรงตัวโดยไม่ต้องค้นหายาว

  1. GET /v1/reports/by-domain/example.com
  2. ใน response ฟิลด์ matches[] — ได้สูงสุดหนึ่งรายการต่อหนึ่งฐานที่มีโดเมนนั้น
  3. เลือก report_type ที่ต้องการ → GET /v1/reports/{report_type}/{report_id}

ถ้า matches ว่าง แปลว่าโดเมนนั้นไม่มีในฐานของ Karma

3. Favorites

  • ดูเฉพาะรายการ: GET /v1/reports/favorites
  • รายการเดียวกันผ่าน search: POST /v1/reports/search พร้อม "favorites": true ใน body
  • เพิ่ม: POST /v1/reports/favorites พร้อม {"report_id": "...", "report_type": "expired"}
  • ลบ: DELETE /v1/reports/favorites/expired/{report_id}

4. Drop check (expired report)

GET /v1/reports/check/expired/{report_id} — ใช้ report id ไม่ใช่ชื่อโดเมน

  • เมื่อตรวจสําเร็จ จะอัปเดตรายการรายงานบนเซิร์ฟเวอร์
  • is_expired: true — โดเมน น่าจะจดทะเบียนได้ (ไม่ใช่ “WHOIS expiry date passed”)
  • ตรวจซ้ําแบบ live สําหรับ report เดิมได้ไม่เกิน ทุก 3 ชั่วโมง (business rule)
  • HTTP response แคชไว้ 1 ชั่วโมง สําหรับ GET ซ้ําด้วย report_id เดิม (ดู “Caching”)

5. ตรวจโดเมนโดยไม่มีรายงานในฐานข้อมูล

GET /v1/domains/checker/expiry/{domain} — WHOIS/DNS แบบ live; ไม่เปลี่ยนข้อมูลรายงานในฐาน

  • available: true — น่าจะจดได้
  • available: false — ถูกใช้หรือถูกสงวน
  • เรียกซ้ํากับโดเมนเดิมภายใน ~1 ชั่วโมง อาจได้ผลลัพธ์จากแคช

6. Karma Metric แบบ on the fly

GET /v1/domains/checker/karma_metric/{domain} — คํานวณ Karma Metric จาก WayBack Machine; ไม่อัปเดตรายงาน ฟิลด์ response ดูใน OpenAPI (KarmaMetricData) โดยมี response cache ต่อโดเมน ~1 ชั่วโมง

อ่านเพิ่มเติมเกี่ยวกับ Karma Metric ในบล็อก

7. ยอดคงเหลือและแพ็กเกจ

GET /v1/user — email, balance (credits), plan flags, subscription data โดย response จะไม่ส่ง API key กลับมา และแคชไว้ ~1 นาที ต่อคีย์ จึงไม่ควร poll ถี่เกินความจําเป็น

Caching

ที่ระดับ Public API จะมีการ cache HTTP response body บาง endpoint ใช้ early refresh (refresh แบบ background ก่อน TTL หมด: นาทีที่ 4 สําหรับ TTL 5 นาที, นาทีที่ 50 สําหรับ TTL 1 ชั่วโมง)

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

POST/DELETE favorites เปลี่ยนข้อมูลบนเซิร์ฟเวอร์ทันที แต่ GET /favorites หรือ POST /search ที่ใส่ favorites: true ซ้ํา อาจยังได้รายการเก่าจนกว่าแคชจะหมด (5 นาที)

ตัวอย่าง request (curl)

แทนที่ YOUR_API_KEY ด้วยคีย์จากโปรไฟล์ของคุณ Base URL: https://api.karma.domains.

ค้นหา expired ด้วยฟิลเตอร์

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

Filter body — ใช้ฟิลด์ใดก็ได้จาก ReportListFilterSchema ใน OpenAPI

รายงานฉบับเต็ม

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

ค้นหาด้วยโดเมน

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

เพิ่มเข้ารายการโปรด

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

ตรวจสอบความพร้อมใช้งานของโดเมน

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"

Integration use cases

Nightly expired selection pipeline

Cron รายวัน: POST /search ด้วย JSON filter ที่บันทึกไว้ (คล้าย saved filter ใน UI), paginate ด้วย page_size=50, แล้ว export report_id ไปยังฐานข้อมูลของคุณ การวิเคราะห์แบบละเอียดให้ GET full report เฉพาะ shortlist

ติดตามรายชื่อโดเมนก่อนจดทะเบียน

คิวโดเมน → GET /domains/checker/expiry/{domain} → แตกแขนงตามค่า available ใช้ได้โดยไม่ต้องมีรายงานใน Karma.Domains

ซิงก์ favorites กับ CRM ภายใน

ดึง GET /favorites เป็นระยะ; เมื่อผู้ใช้ทํากิจกรรมใน CRM ให้เรียก POST/DELETE favorites โดยคํานึงถึงรายการที่แคชไว้ประมาณ 5 นาที

BI / funnel analytics

ส่งออกหน้าการค้นหา และ aggregate ค่า total_count กับเมตริกจาก report_list โดยไม่ต้องเปิด UI สคีมาของแถวรายการคือ ReportListResponseSchema ใน OpenAPI

MCP + scripts ด้วยคีย์เดียว

ทีมสามารถใช้ MCP ใน Cursor สําหรับ ad-hoc search และใช้ Public API สําหรับ ETL แบบคงที่ โดยลิมิตรวมคือ 60 requests ต่อ minute ควรวางแผน batch และ backoff เมื่อเจอ 429

MCP และ Public API

Public API (REST) MCP
Audience Developers, scripts, ETL AI assistants (Cursor, Claude)
Interface HTTP + JSON Dialogue, tools
Docs หน้านี้ + OpenAPI /th/expired-domains-mcp/
Data รายงานและฐานข้อมูลชุดเดียวกัน เหมือนกัน
Key & limit ใช้ลิมิตร่วมกัน ใช้ลิมิตร่วมกัน

สําหรับงานอินทิเกรตโค้ดใหม่ ให้เริ่มจาก REST ส่วนการทดลองผ่านแชตให้ใช้ MCP

FAQ

อ้างอิงฟิลด์ฟิลเตอร์แบบเต็มอยู่ที่ไหน?

อยู่ใน OpenAPI, schema ReportListFilterSchema โดยความหมายของฟิลด์สอดคล้องกับ filter help ใน UI

available กับ is_expired ต่างกันอย่างไร?

ทั้งสองค่าในบริบท API หมายถึง: โดเมน น่าจะพร้อมจดทะเบียน
available — ตรวจสดจากชื่อโดเมน (/domains/checker/expiry)
is_expired — ตรวจที่ผูกกับรายงานในฐาน expired (/reports/check/expired/{report_id})

ทําไมได้ 403 ทั้งที่คีย์ถูกต้อง?

ไม่มีแผน Pro ที่ active ตรวจสอบการสมัครสมาชิกในโปรไฟล์

ทําไมผลลัพธ์ API ไม่ตรงกับ UI หรือการกระทําที่เพิ่งทํา?

เพราะ HTTP cache ของ Public API — ดูตารางใน “Caching” และคํานึงถึง TTL ตอนซิงก์กับ UI

ค่า sort_by อะไรที่ใช้ได้?

ดู enum list ใน OpenAPI ซึ่งเป็นชื่อคอลัมน์ของตารางรายงานใน web app

ถ้ามี OpenAPI แล้ว ยังต้องใช้หน้านี้ไหม?

OpenAPI เป็นแหล่งจริงสําหรับประเภทข้อมูลและฟิลด์ หน้านี้ช่วยเพิ่มบริบทเรื่องลิมิต แคช ลําดับการเรียก use cases และข้อควรระวังที่ไม่อยู่ในสคีมา

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 ไหม?

ไม่มี sandbox แยกต่างหาก ให้ใช้บัญชี Pro และเคารพ rate limits สําหรับการดีบัก แนะนํา GET /user และ POST /search แบบแคบด้วยฟิลเตอร์เข้มงวด

Error codes

Code Meaning
200 Success
401 Unauthorized (key)
403 No Pro
404 ไม่พบ report หรือ resource
422 ข้อผิดพลาดการตรวจสอบ body/query (invalid filter, sort_by, …)
429 เกินลิมิตคําขอ
503 rate limiter ไม่พร้อมใช้งานชั่วคราว

Error body โดยทั่วไปมีฟิลด์ detail (string หรือ array ของ validation objects) ตัวอย่าง:

{
  "detail": "Invalid API key"
}

ลิงก์ที่เป็นประโยชน์

ลองใช้ฟรี!

ใช้เครดิตโบนัส!

เปิดรายการโดเมน
+5