openapi: 3.2.0 info: title: Karma. Public Domains API description: 'Public API for Karma.Domains: programmatic access to domain intelligence — reports across auctions, expired, backorder, and buy-now inventories, SEO and authority metrics, Wayback history, availability checks, and Karma Metric.' contact: name: Karma.Domains url: https://karma.domains/ email: hello@karma.domains version: 1.0.0 x-guidance: 'Paid routes use x402 agent credits. If a request returns HTTP 402, read PAYMENT-REQUIRED and retry the same URL with PAYMENT-SIGNATURE. Optional X-Karma-Plan-Id selects a concrete credit pack. Saved filters: GET/POST /v1/user/saved-filters and GET/PATCH/DELETE /v1/user/saved-filters/{id}. Webhooks: POST /v1/webhooks with an HTTPS URL from Zapier, Make, n8n, or IFTTT. SEO enrich: POST .../enrich-seo then poll GET /v1/reports/enrich-jobs/{job_id}.' servers: - url: https://api.karma.domains description: Public API (canonical) - url: https://karma.domains description: OpenAPI mirror (same spec) tags: - name: Domains paths: /v1/domains/checker/expiry: get: tags: - Domains summary: Check Domain Expiry description: 'Check if a domain name appears free for registration (live WHOIS/DNS). ``available: true`` — domain likely free; ``false`` — registered or reserved. Does not update any report. Costs 1 credit from spendable balance for Pro (8 for agent accounts); cache hits free.' operationId: check_domain_expiry_v1_domains_checker_expiry_get security: - Bearer: [] parameters: - name: domain in: query required: true schema: type: string description: Domain name (percent-encode non-ASCII) title: Domain description: Domain name (percent-encode non-ASCII) example: example.com responses: '200': description: Successful Response content: application/json: schema: $ref: '#/components/schemas/DomainAvailabilityResponseSchema' '402': description: Payment required — x402 agent credits. Read PAYMENT-REQUIRED header (base64 JSON) and retry same URL with PAYMENT-SIGNATURE and optional X-Karma-Plan-Id. headers: PAYMENT-REQUIRED: description: Base64-encoded x402 PaymentRequired JSON schema: type: string X-Karma-Api-Key: description: Issued api_key on first successful purchase schema: type: string Link: description: Agent skill documentation schema: type: string content: application/json: schema: type: object properties: error: type: string example: payment_required accepts: type: array description: x402 v2 payment options (packs × networks) items: type: object extensions: type: object properties: karma: type: object properties: reason: type: string enum: - first_purchase - top_up retry_same_url: type: boolean plan_id_header: type: string recommended_plan_id: type: string keep_api_key: type: boolean packs: type: array items: type: object properties: plan_id: type: string credits: type: integer price_usdc: type: string costs: type: object additionalProperties: type: integer bazaar: type: object '422': description: Validation Error content: application/json: schema: $ref: '#/components/schemas/HTTPValidationError' x-payment-info: price: mode: dynamic currency: USD min: '1.50' max: '20.00' protocols: - x402: {} /v1/domains/checker/karma_metric: get: tags: - Domains summary: Get Domain Karma Metric description: 'Compute Karma Metric from Web Archive history for a domain (live check). Returns score 0 with null period when TLD is ignored or Archive has no data. Does not update any report. Costs 1 credit from spendable balance for Pro (8 for agent accounts); cache hits free.' operationId: get_domain_karma_metric_v1_domains_checker_karma_metric_get security: - Bearer: [] parameters: - name: domain in: query required: true schema: type: string description: Domain name (percent-encode non-ASCII) title: Domain description: Domain name (percent-encode non-ASCII) example: example.com responses: '200': description: Successful Response content: application/json: schema: $ref: '#/components/schemas/KarmaMetricData' '402': description: Payment required — x402 agent credits. Read PAYMENT-REQUIRED header (base64 JSON) and retry same URL with PAYMENT-SIGNATURE and optional X-Karma-Plan-Id. headers: PAYMENT-REQUIRED: description: Base64-encoded x402 PaymentRequired JSON schema: type: string X-Karma-Api-Key: description: Issued api_key on first successful purchase schema: type: string Link: description: Agent skill documentation schema: type: string content: application/json: schema: type: object properties: error: type: string example: payment_required accepts: type: array description: x402 v2 payment options (packs × networks) items: type: object extensions: type: object properties: karma: type: object properties: reason: type: string enum: - first_purchase - top_up retry_same_url: type: boolean plan_id_header: type: string recommended_plan_id: type: string keep_api_key: type: boolean packs: type: array items: type: object properties: plan_id: type: string credits: type: integer price_usdc: type: string costs: type: object additionalProperties: type: integer bazaar: type: object '422': description: Validation Error content: application/json: schema: $ref: '#/components/schemas/HTTPValidationError' x-payment-info: price: mode: dynamic currency: USD min: '1.50' max: '20.00' protocols: - x402: {} /v1/domains/checker/domain_authority: get: tags: - Domains summary: Domain Authority Checker description: Live Domain Authority metrics (Ahrefs, Moz, Semrush, Karma Metric). Costs 1 credit from spendable balance for Pro (8 for agent accounts); cache hits free. operationId: domain_authority_checker_v1_domains_checker_domain_authority_get security: - Bearer: [] parameters: - name: domain in: query required: true schema: type: string description: Domain name (percent-encode non-ASCII) title: Domain description: Domain name (percent-encode non-ASCII) example: example.com responses: '200': description: Successful Response content: application/json: schema: $ref: '#/components/schemas/DomainAuthorityResultSchema' '402': description: Payment required — x402 agent credits. Read PAYMENT-REQUIRED header (base64 JSON) and retry same URL with PAYMENT-SIGNATURE and optional X-Karma-Plan-Id. headers: PAYMENT-REQUIRED: description: Base64-encoded x402 PaymentRequired JSON schema: type: string X-Karma-Api-Key: description: Issued api_key on first successful purchase schema: type: string Link: description: Agent skill documentation schema: type: string content: application/json: schema: type: object properties: error: type: string example: payment_required accepts: type: array description: x402 v2 payment options (packs × networks) items: type: object extensions: type: object properties: karma: type: object properties: reason: type: string enum: - first_purchase - top_up retry_same_url: type: boolean plan_id_header: type: string recommended_plan_id: type: string keep_api_key: type: boolean packs: type: array items: type: object properties: plan_id: type: string credits: type: integer price_usdc: type: string costs: type: object additionalProperties: type: integer bazaar: type: object '422': description: Validation Error content: application/json: schema: $ref: '#/components/schemas/HTTPValidationError' x-payment-info: price: mode: dynamic currency: USD min: '1.50' max: '20.00' protocols: - x402: {} /v1/domains/checker/domain_age: get: tags: - Domains summary: Domain Age Checker description: 'Live Wayback archive age: first/last snapshot timestamps and sparkline. Costs 1 credit from spendable balance for Pro (8 for agent accounts); cache hits free.' operationId: domain_age_checker_v1_domains_checker_domain_age_get security: - Bearer: [] parameters: - name: domain in: query required: true schema: type: string description: Domain name (percent-encode non-ASCII) title: Domain description: Domain name (percent-encode non-ASCII) example: example.com responses: '200': description: Successful Response content: application/json: schema: $ref: '#/components/schemas/DomainAgeResultSchema' '402': description: Payment required — x402 agent credits. Read PAYMENT-REQUIRED header (base64 JSON) and retry same URL with PAYMENT-SIGNATURE and optional X-Karma-Plan-Id. headers: PAYMENT-REQUIRED: description: Base64-encoded x402 PaymentRequired JSON schema: type: string X-Karma-Api-Key: description: Issued api_key on first successful purchase schema: type: string Link: description: Agent skill documentation schema: type: string content: application/json: schema: type: object properties: error: type: string example: payment_required accepts: type: array description: x402 v2 payment options (packs × networks) items: type: object extensions: type: object properties: karma: type: object properties: reason: type: string enum: - first_purchase - top_up retry_same_url: type: boolean plan_id_header: type: string recommended_plan_id: type: string keep_api_key: type: boolean packs: type: array items: type: object properties: plan_id: type: string credits: type: integer price_usdc: type: string costs: type: object additionalProperties: type: integer bazaar: type: object '422': description: Validation Error content: application/json: schema: $ref: '#/components/schemas/HTTPValidationError' x-payment-info: price: mode: dynamic currency: USD min: '1.50' max: '20.00' protocols: - x402: {} /v1/domains/checker/registration_expiry: get: tags: - Domains summary: Domain Expiry Checker description: 'Live WHOIS/RDAP registration expiry (created/expires, days left, status). Different from ``/checker/expiry`` which only returns available true/false. Costs 1 credit from spendable balance for Pro (8 for agent accounts); cache hits free.' operationId: domain_expiry_checker_v1_domains_checker_registration_expiry_get security: - Bearer: [] parameters: - name: domain in: query required: true schema: type: string description: Domain name (percent-encode non-ASCII) title: Domain description: Domain name (percent-encode non-ASCII) example: example.com responses: '200': description: Successful Response content: application/json: schema: $ref: '#/components/schemas/DomainExpiryResultSchema' '402': description: Payment required — x402 agent credits. Read PAYMENT-REQUIRED header (base64 JSON) and retry same URL with PAYMENT-SIGNATURE and optional X-Karma-Plan-Id. headers: PAYMENT-REQUIRED: description: Base64-encoded x402 PaymentRequired JSON schema: type: string X-Karma-Api-Key: description: Issued api_key on first successful purchase schema: type: string Link: description: Agent skill documentation schema: type: string content: application/json: schema: type: object properties: error: type: string example: payment_required accepts: type: array description: x402 v2 payment options (packs × networks) items: type: object extensions: type: object properties: karma: type: object properties: reason: type: string enum: - first_purchase - top_up retry_same_url: type: boolean plan_id_header: type: string recommended_plan_id: type: string keep_api_key: type: boolean packs: type: array items: type: object properties: plan_id: type: string credits: type: integer price_usdc: type: string costs: type: object additionalProperties: type: integer bazaar: type: object '422': description: Validation Error content: application/json: schema: $ref: '#/components/schemas/HTTPValidationError' x-payment-info: price: mode: dynamic currency: USD min: '1.50' max: '20.00' protocols: - x402: {} /v1/domains/checker/backlinks: get: tags: - Domains summary: Backlink Checker description: Live Moz backlink summary and sample backlinks. Costs 1 credit from spendable balance for Pro (8 for agent accounts); cache hits free. operationId: backlink_checker_v1_domains_checker_backlinks_get security: - Bearer: [] parameters: - name: domain in: query required: true schema: type: string description: Domain name (percent-encode non-ASCII) title: Domain description: Domain name (percent-encode non-ASCII) example: example.com responses: '200': description: Successful Response content: application/json: schema: $ref: '#/components/schemas/BacklinkCheckerResultSchema' '402': description: Payment required — x402 agent credits. Read PAYMENT-REQUIRED header (base64 JSON) and retry same URL with PAYMENT-SIGNATURE and optional X-Karma-Plan-Id. headers: PAYMENT-REQUIRED: description: Base64-encoded x402 PaymentRequired JSON schema: type: string X-Karma-Api-Key: description: Issued api_key on first successful purchase schema: type: string Link: description: Agent skill documentation schema: type: string content: application/json: schema: type: object properties: error: type: string example: payment_required accepts: type: array description: x402 v2 payment options (packs × networks) items: type: object extensions: type: object properties: karma: type: object properties: reason: type: string enum: - first_purchase - top_up retry_same_url: type: boolean plan_id_header: type: string recommended_plan_id: type: string keep_api_key: type: boolean packs: type: array items: type: object properties: plan_id: type: string credits: type: integer price_usdc: type: string costs: type: object additionalProperties: type: integer bazaar: type: object '422': description: Validation Error content: application/json: schema: $ref: '#/components/schemas/HTTPValidationError' x-payment-info: price: mode: dynamic currency: USD min: '1.50' max: '20.00' protocols: - x402: {} /v1/domains/checker/anchors: get: tags: - Domains summary: Anchor Text Checker description: Live Moz anchor-text aggregation and word frequencies. Costs 1 credit from spendable balance for Pro (8 for agent accounts); cache hits free. operationId: anchor_text_checker_v1_domains_checker_anchors_get security: - Bearer: [] parameters: - name: domain in: query required: true schema: type: string description: Domain name (percent-encode non-ASCII) title: Domain description: Domain name (percent-encode non-ASCII) example: example.com responses: '200': description: Successful Response content: application/json: schema: $ref: '#/components/schemas/AnchorTextCheckerResultSchema' '402': description: Payment required — x402 agent credits. Read PAYMENT-REQUIRED header (base64 JSON) and retry same URL with PAYMENT-SIGNATURE and optional X-Karma-Plan-Id. headers: PAYMENT-REQUIRED: description: Base64-encoded x402 PaymentRequired JSON schema: type: string X-Karma-Api-Key: description: Issued api_key on first successful purchase schema: type: string Link: description: Agent skill documentation schema: type: string content: application/json: schema: type: object properties: error: type: string example: payment_required accepts: type: array description: x402 v2 payment options (packs × networks) items: type: object extensions: type: object properties: karma: type: object properties: reason: type: string enum: - first_purchase - top_up retry_same_url: type: boolean plan_id_header: type: string recommended_plan_id: type: string keep_api_key: type: boolean packs: type: array items: type: object properties: plan_id: type: string credits: type: integer price_usdc: type: string costs: type: object additionalProperties: type: integer bazaar: type: object '422': description: Validation Error content: application/json: schema: $ref: '#/components/schemas/HTTPValidationError' x-payment-info: price: mode: dynamic currency: USD min: '1.50' max: '20.00' protocols: - x402: {} /v1/domains/checker/pages: get: tags: - Domains summary: Website Page Counter description: Count unique page URLs from the site sitemap for a domain. Costs 1 credit from spendable balance for Pro (8 for agent accounts); cache hits free. operationId: website_page_counter_v1_domains_checker_pages_get security: - Bearer: [] parameters: - name: domain in: query required: true schema: type: string description: Domain name (percent-encode non-ASCII) title: Domain description: Domain name (percent-encode non-ASCII) example: example.com responses: '200': description: Successful Response content: application/json: schema: $ref: '#/components/schemas/WebsitePageCounterResponseSchema' '402': description: Payment required — x402 agent credits. Read PAYMENT-REQUIRED header (base64 JSON) and retry same URL with PAYMENT-SIGNATURE and optional X-Karma-Plan-Id. headers: PAYMENT-REQUIRED: description: Base64-encoded x402 PaymentRequired JSON schema: type: string X-Karma-Api-Key: description: Issued api_key on first successful purchase schema: type: string Link: description: Agent skill documentation schema: type: string content: application/json: schema: type: object properties: error: type: string example: payment_required accepts: type: array description: x402 v2 payment options (packs × networks) items: type: object extensions: type: object properties: karma: type: object properties: reason: type: string enum: - first_purchase - top_up retry_same_url: type: boolean plan_id_header: type: string recommended_plan_id: type: string keep_api_key: type: boolean packs: type: array items: type: object properties: plan_id: type: string credits: type: integer price_usdc: type: string costs: type: object additionalProperties: type: integer bazaar: type: object '422': description: Validation Error content: application/json: schema: $ref: '#/components/schemas/HTTPValidationError' x-payment-info: price: mode: dynamic currency: USD min: '1.50' max: '20.00' protocols: - x402: {} /v1/domains/checker/traffic: get: tags: - Domains summary: Website Traffic Checker description: Live SimilarWeb and Semrush traffic estimates for a domain. Costs 1 credit from spendable balance for Pro (8 for agent accounts); cache hits free. operationId: website_traffic_checker_v1_domains_checker_traffic_get security: - Bearer: [] parameters: - name: domain in: query required: true schema: type: string description: Domain name (percent-encode non-ASCII) title: Domain description: Domain name (percent-encode non-ASCII) example: example.com responses: '200': description: Successful Response content: application/json: schema: $ref: '#/components/schemas/WebsiteTrafficResultSchema' '402': description: Payment required — x402 agent credits. Read PAYMENT-REQUIRED header (base64 JSON) and retry same URL with PAYMENT-SIGNATURE and optional X-Karma-Plan-Id. headers: PAYMENT-REQUIRED: description: Base64-encoded x402 PaymentRequired JSON schema: type: string X-Karma-Api-Key: description: Issued api_key on first successful purchase schema: type: string Link: description: Agent skill documentation schema: type: string content: application/json: schema: type: object properties: error: type: string example: payment_required accepts: type: array description: x402 v2 payment options (packs × networks) items: type: object extensions: type: object properties: karma: type: object properties: reason: type: string enum: - first_purchase - top_up retry_same_url: type: boolean plan_id_header: type: string recommended_plan_id: type: string keep_api_key: type: boolean packs: type: array items: type: object properties: plan_id: type: string credits: type: integer price_usdc: type: string costs: type: object additionalProperties: type: integer bazaar: type: object '422': description: Validation Error content: application/json: schema: $ref: '#/components/schemas/HTTPValidationError' x-payment-info: price: mode: dynamic currency: USD min: '1.50' max: '20.00' protocols: - x402: {} /v1/domains/checker/dns: get: tags: - Domains summary: Dns Lookup description: Live DNS lookup across public resolvers (A, AAAA, MX, NS, TXT, …). Costs 1 credit from spendable balance for Pro (8 for agent accounts); cache hits free. operationId: dns_lookup_v1_domains_checker_dns_get security: - Bearer: [] parameters: - name: domain in: query required: true schema: type: string description: Domain name (percent-encode non-ASCII) title: Domain description: Domain name (percent-encode non-ASCII) example: example.com - name: dns_resolver in: query required: false schema: anyOf: - type: string - type: 'null' description: 'Preferred resolver tab: google, cloudflare, opendns, or quad9' title: Dns Resolver description: 'Preferred resolver tab: google, cloudflare, opendns, or quad9' example: google responses: '200': description: Successful Response content: application/json: schema: $ref: '#/components/schemas/DnsLookupResultSchema' '402': description: Payment required — x402 agent credits. Read PAYMENT-REQUIRED header (base64 JSON) and retry same URL with PAYMENT-SIGNATURE and optional X-Karma-Plan-Id. headers: PAYMENT-REQUIRED: description: Base64-encoded x402 PaymentRequired JSON schema: type: string X-Karma-Api-Key: description: Issued api_key on first successful purchase schema: type: string Link: description: Agent skill documentation schema: type: string content: application/json: schema: type: object properties: error: type: string example: payment_required accepts: type: array description: x402 v2 payment options (packs × networks) items: type: object extensions: type: object properties: karma: type: object properties: reason: type: string enum: - first_purchase - top_up retry_same_url: type: boolean plan_id_header: type: string recommended_plan_id: type: string keep_api_key: type: boolean packs: type: array items: type: object properties: plan_id: type: string credits: type: integer price_usdc: type: string costs: type: object additionalProperties: type: integer bazaar: type: object '422': description: Validation Error content: application/json: schema: $ref: '#/components/schemas/HTTPValidationError' x-payment-info: price: mode: dynamic currency: USD min: '1.50' max: '20.00' protocols: - x402: {} /v1/domains/checker/whois: get: tags: - Domains summary: Whois Lookup description: Live structured WHOIS/RDAP (registrar, contacts, nameservers, dates). Costs 1 credit from spendable balance for Pro (8 for agent accounts); cache hits free. operationId: whois_lookup_v1_domains_checker_whois_get security: - Bearer: [] parameters: - name: domain in: query required: true schema: type: string description: Domain name (percent-encode non-ASCII) title: Domain description: Domain name (percent-encode non-ASCII) example: example.com responses: '200': description: Successful Response content: application/json: schema: $ref: '#/components/schemas/WhoisLookupResultSchema' '402': description: Payment required — x402 agent credits. Read PAYMENT-REQUIRED header (base64 JSON) and retry same URL with PAYMENT-SIGNATURE and optional X-Karma-Plan-Id. headers: PAYMENT-REQUIRED: description: Base64-encoded x402 PaymentRequired JSON schema: type: string X-Karma-Api-Key: description: Issued api_key on first successful purchase schema: type: string Link: description: Agent skill documentation schema: type: string content: application/json: schema: type: object properties: error: type: string example: payment_required accepts: type: array description: x402 v2 payment options (packs × networks) items: type: object extensions: type: object properties: karma: type: object properties: reason: type: string enum: - first_purchase - top_up retry_same_url: type: boolean plan_id_header: type: string recommended_plan_id: type: string keep_api_key: type: boolean packs: type: array items: type: object properties: plan_id: type: string credits: type: integer price_usdc: type: string costs: type: object additionalProperties: type: integer bazaar: type: object '422': description: Validation Error content: application/json: schema: $ref: '#/components/schemas/HTTPValidationError' x-payment-info: price: mode: dynamic currency: USD min: '1.50' max: '20.00' protocols: - x402: {} /v1/domains/checker/spam_score: get: tags: - Domains summary: Spam Score Checker description: Live Moz Spam Score plus DA, backlinks, and referring domains. Costs 1 credit from spendable balance for Pro (8 for agent accounts); cache hits free. operationId: spam_score_checker_v1_domains_checker_spam_score_get security: - Bearer: [] parameters: - name: domain in: query required: true schema: type: string description: Domain name (percent-encode non-ASCII) title: Domain description: Domain name (percent-encode non-ASCII) example: example.com responses: '200': description: Successful Response content: application/json: schema: $ref: '#/components/schemas/SpamScoreResultSchema' '402': description: Payment required — x402 agent credits. Read PAYMENT-REQUIRED header (base64 JSON) and retry same URL with PAYMENT-SIGNATURE and optional X-Karma-Plan-Id. headers: PAYMENT-REQUIRED: description: Base64-encoded x402 PaymentRequired JSON schema: type: string X-Karma-Api-Key: description: Issued api_key on first successful purchase schema: type: string Link: description: Agent skill documentation schema: type: string content: application/json: schema: type: object properties: error: type: string example: payment_required accepts: type: array description: x402 v2 payment options (packs × networks) items: type: object extensions: type: object properties: karma: type: object properties: reason: type: string enum: - first_purchase - top_up retry_same_url: type: boolean plan_id_header: type: string recommended_plan_id: type: string keep_api_key: type: boolean packs: type: array items: type: object properties: plan_id: type: string credits: type: integer price_usdc: type: string costs: type: object additionalProperties: type: integer bazaar: type: object '422': description: Validation Error content: application/json: schema: $ref: '#/components/schemas/HTTPValidationError' x-payment-info: price: mode: dynamic currency: USD min: '1.50' max: '20.00' protocols: - x402: {} components: schemas: ValidationError: properties: loc: items: anyOf: - type: string - type: integer type: array title: Location msg: type: string title: Message type: type: string title: Error Type type: object required: - loc - msg - type title: ValidationError DomainAgeResultSchema: properties: domain: type: string title: Domain description: Normalized domain name first_ts: anyOf: - type: integer - type: 'null' title: First Ts description: First snapshot unix timestamp (seconds) last_ts: anyOf: - type: integer - type: 'null' title: Last Ts description: Last snapshot unix timestamp (seconds) snap_counter: type: integer title: Snap Counter description: Total snapshot count in archive default: 0 sparkline: anyOf: - $ref: '#/components/schemas/DomainAgeSparklineSchema' - type: 'null' description: Sparkline payload for the frontend canvas type: object required: - domain title: DomainAgeResultSchema description: Archive age data for a single domain WhoisLookupResultSchema: properties: domain: type: string title: Domain description: Normalized domain name domain_status: anyOf: - type: string - type: 'null' title: Domain Status description: Registered | Available | Reserved | Unknown created_ts: anyOf: - type: integer - type: 'null' title: Created Ts description: Creation unix timestamp (seconds) updated_ts: anyOf: - type: integer - type: 'null' title: Updated Ts description: Last updated unix timestamp (seconds) expires_ts: anyOf: - type: integer - type: 'null' title: Expires Ts description: Expiration unix timestamp (seconds) status: items: type: string type: array title: Status description: EPP / registry status codes name_servers: items: type: string type: array title: Name Servers description: Authoritative nameservers dnssec: anyOf: - type: string - type: 'null' title: Dnssec description: DNSSEC status when known registrar: $ref: '#/components/schemas/WhoisRegistrarSchema' description: Registrar information contacts: $ref: '#/components/schemas/WhoisContactsSchema' description: Contact roles privacy_masked: type: boolean title: Privacy Masked description: True when contact data looks privacy-protected or redacted default: false raw: $ref: '#/components/schemas/WhoisRawSchema' description: Raw WHOIS text and RDAP JSON type: object required: - domain title: WhoisLookupResultSchema description: Structured WHOIS/RDAP result for a single domain WhoisContactsSchema: properties: registrant: anyOf: - $ref: '#/components/schemas/WhoisContactSchema' - type: 'null' administrative: anyOf: - $ref: '#/components/schemas/WhoisContactSchema' - type: 'null' technical: anyOf: - $ref: '#/components/schemas/WhoisContactSchema' - type: 'null' billing: anyOf: - $ref: '#/components/schemas/WhoisContactSchema' - type: 'null' type: object title: WhoisContactsSchema description: Contact roles present in the record DomainAvailabilityResponseSchema: properties: domain: type: string title: Domain available: type: boolean title: Available type: object required: - domain - available title: DomainAvailabilityResponseSchema description: Live domain availability check (no report record updated). BacklinkSummarySchema: properties: bl: anyOf: - type: integer - type: 'null' title: Bl description: Moz external pages to subdomain rd: anyOf: - type: integer - type: 'null' title: Rd description: Moz root domains to subdomain nofollow_bl: anyOf: - type: integer - type: 'null' title: Nofollow Bl description: Moz nofollow pages to subdomain nofollow_rd: anyOf: - type: integer - type: 'null' title: Nofollow Rd description: Moz nofollow root domains to subdomain pages: anyOf: - type: integer - type: 'null' title: Pages description: Moz pages to subdomain type: object title: BacklinkSummarySchema description: Flattened Moz metrics for the overview DomainAgeSparklineSchema: properties: first_ts: type: integer title: First Ts description: First snapshot unix timestamp (seconds) last_ts: type: integer title: Last Ts description: Last snapshot unix timestamp (seconds) years: additionalProperties: true type: object title: Years description: Monthly capture counts by year type: object required: - first_ts - last_ts - years title: DomainAgeSparklineSchema description: Sparkline data for domain age checker WebsitePageCounterSitemapSchema: properties: url: type: string title: Url description: Sitemap file URL parent_url: anyOf: - type: string - type: 'null' title: Parent Url description: Parent sitemap index URL, if nested kind: type: string enum: - index - urlset title: Kind description: sitemapindex or urlset page_count: type: integer title: Page Count description: Number of page URLs in this file default: 0 error: anyOf: - type: string - type: 'null' title: Error description: Fetch/parse error if any type: object required: - url - kind title: WebsitePageCounterSitemapSchema description: One sitemap file in the scan tree WhoisRawSchema: properties: whois_text: anyOf: - type: string - type: 'null' title: Whois Text description: Raw WHOIS response text rdap: anyOf: - {} - type: 'null' title: Rdap description: Parsed RDAP JSON object when available type: object title: WhoisRawSchema description: Raw WHOIS text and RDAP JSON for power users WebsitePageCounterUrlSchema: properties: loc: type: string title: Loc description: Page URL from lastmod: anyOf: - type: string - type: 'null' title: Lastmod description: lastmod value if present sitemap_url: type: string title: Sitemap Url description: Sitemap file this URL came from type: object required: - loc - sitemap_url title: WebsitePageCounterUrlSchema description: Single page URL collected from a sitemap WebsiteTrafficResultSchema: properties: domain: type: string title: Domain description: Normalized domain name similarweb: anyOf: - $ref: '#/components/schemas/SimilarWebTrafficSchema' - type: 'null' description: SimilarWeb traffic metrics semrush: anyOf: - $ref: '#/components/schemas/SemrushTrafficSchema' - type: 'null' description: Semrush traffic analytics type: object required: - domain title: WebsiteTrafficResultSchema description: Traffic data for a single domain BacklinkItemSchema: properties: domain_source: anyOf: - type: string - type: 'null' title: Domain Source url_source: anyOf: - type: string - type: 'null' title: Url Source domain_target: anyOf: - type: string - type: 'null' title: Domain Target url_target: anyOf: - type: string - type: 'null' title: Url Target anchor_text: anyOf: - type: string - type: 'null' title: Anchor Text harmonic_centrality: anyOf: - type: integer - type: 'null' title: Harmonic Centrality last_found_date: anyOf: - type: string - type: 'null' title: Last Found Date type: object title: BacklinkItemSchema description: Single backlink row for the landing tool BacklinkCheckerResultSchema: properties: domain: type: string title: Domain description: Normalized domain name summary: $ref: '#/components/schemas/BacklinkSummarySchema' description: Link profile summary metrics backlinks: items: $ref: '#/components/schemas/BacklinkItemSchema' type: array title: Backlinks description: Backlink rows from Moz type: object required: - domain title: BacklinkCheckerResultSchema description: Backlink data for a single domain SimilarWebTrafficSchema: properties: engagments: anyOf: - $ref: '#/components/schemas/SimilarWebEngagementsSchema' - type: 'null' estimated_monthly_visits: anyOf: - additionalProperties: type: number type: object - type: 'null' title: Estimated Monthly Visits traffic_sources: anyOf: - additionalProperties: type: number type: object - type: 'null' title: Traffic Sources category: anyOf: - type: string - type: 'null' title: Category top_country_shares: anyOf: - items: $ref: '#/components/schemas/SimilarWebCountryShareSchema' type: array - type: 'null' title: Top Country Shares type: object title: SimilarWebTrafficSchema description: SimilarWeb traffic payload for the landing tool WebsitePageCounterResponseSchema: properties: domain: type: string title: Domain description: Normalized domain root_sitemap_url: anyOf: - type: string - type: 'null' title: Root Sitemap Url description: Root sitemap URL that was scanned total_pages: type: integer title: Total Pages description: Total unique page URLs found default: 0 truncated: type: boolean title: Truncated description: True when the 5000 URL limit was hit default: false sitemaps: items: $ref: '#/components/schemas/WebsitePageCounterSitemapSchema' type: array title: Sitemaps description: Flat list of scanned sitemap files urls: items: $ref: '#/components/schemas/WebsitePageCounterUrlSchema' type: array title: Urls description: Collected page URLs (max 5000) type: object required: - domain title: WebsitePageCounterResponseSchema description: Website Page Counter response schema SpamScoreResultSchema: properties: domain: type: string title: Domain description: Normalized domain name da: anyOf: - type: integer - type: 'null' title: Da description: Moz Domain Authority ss: anyOf: - type: integer - type: 'null' title: Ss description: Moz Spam Score bl: anyOf: - type: integer - type: 'null' title: Bl description: Moz external pages to subdomain rd: anyOf: - type: integer - type: 'null' title: Rd description: Moz root domains to subdomain type: object required: - domain title: SpamScoreResultSchema description: Moz spam metrics for a single domain KarmaMetricData: properties: karma_metric: type: integer maximum: 100.0 minimum: 0.0 title: Karma Metric description: Final metric score (0-100) components: $ref: '#/components/schemas/KarmaMetricComponents' description: Score components period: anyOf: - type: string pattern: ^\d{4}-\d{2}$ - type: 'null' title: Period description: Period YYYY-MM type: object required: - karma_metric - components title: KarmaMetricData description: Karma metric data model DomainMetricsSchema: properties: dr: anyOf: - type: number - type: 'null' title: Dr description: Ahrefs Domain Rating ur: anyOf: - type: number - type: 'null' title: Ur description: Ahrefs URL Rating da: anyOf: - type: integer - type: 'null' title: Da description: Moz Domain Authority ss: anyOf: - type: integer - type: 'null' title: Ss description: Moz Spam Score bl: anyOf: - type: integer - type: 'null' title: Bl description: Moz external pages to subdomain rd: anyOf: - type: integer - type: 'null' title: Rd description: Moz root domains to subdomain sr_as: anyOf: - type: number - type: 'null' title: Sr As description: Semrush Authority Score sr_rd: anyOf: - type: integer - type: 'null' title: Sr Rd description: Semrush referring domains sr_bl: anyOf: - type: integer - type: 'null' title: Sr Bl description: Semrush backlinks total opr: anyOf: - type: number - type: 'null' title: Opr description: Open PageRank from Moz page_rank kdm: anyOf: - type: integer - type: 'null' title: Kdm description: Karma Domain Metric A_mass: anyOf: - type: integer - type: 'null' title: A Mass description: KDM mass component A_hist: anyOf: - type: integer - type: 'null' title: A Hist description: KDM history component A_cont: anyOf: - type: integer - type: 'null' title: A Cont description: KDM continuity component A_stab: anyOf: - type: integer - type: 'null' title: A Stab description: KDM stability component A_trend: anyOf: - type: integer - type: 'null' title: A Trend description: KDM trend component type: object title: DomainMetricsSchema description: Flattened metrics for the DA checker frontend AnchorTextCheckerResultSchema: properties: domain: type: string title: Domain description: Normalized domain name summary: $ref: '#/components/schemas/AnchorTextSummarySchema' description: Link profile summary metrics sample_size: type: integer title: Sample Size description: Number of backlink rows used for aggregation default: 0 anchors: items: $ref: '#/components/schemas/AnchorTextRowSchema' type: array title: Anchors description: Anchor text rows sorted by links descending words: items: $ref: '#/components/schemas/AnchorWordSchema' type: array title: Words description: Top word frequencies for the word cloud type: object required: - domain title: AnchorTextCheckerResultSchema description: Aggregated backlink anchor analysis for a single domain SemrushTrafficSchema: properties: display_date: anyOf: - type: string - type: 'null' title: Display Date visits: anyOf: - type: number - type: 'null' title: Visits users: anyOf: - type: number - type: 'null' title: Users pages_per_visit: anyOf: - type: number - type: 'null' title: Pages Per Visit time_on_site: anyOf: - type: number - type: 'null' title: Time On Site bounce_rate: anyOf: - type: number - type: 'null' title: Bounce Rate desktop_share: anyOf: - type: number - type: 'null' title: Desktop Share mobile_share: anyOf: - type: number - type: 'null' title: Mobile Share prev_visits: anyOf: - type: number - type: 'null' title: Prev Visits prev_users: anyOf: - type: number - type: 'null' title: Prev Users prev_pages_per_visit: anyOf: - type: number - type: 'null' title: Prev Pages Per Visit prev_time_on_site: anyOf: - type: number - type: 'null' title: Prev Time On Site prev_bounce_rate: anyOf: - type: number - type: 'null' title: Prev Bounce Rate direct: anyOf: - type: number - type: 'null' title: Direct search_organic: anyOf: - type: number - type: 'null' title: Search Organic search_paid: anyOf: - type: number - type: 'null' title: Search Paid referral: anyOf: - type: number - type: 'null' title: Referral social: anyOf: - type: number - type: 'null' title: Social mail: anyOf: - type: number - type: 'null' title: Mail display_ad: anyOf: - type: number - type: 'null' title: Display Ad type: object title: SemrushTrafficSchema description: Semrush traffic analytics summary for the landing tool DnsLookupResultSchema: properties: domain: type: string title: Domain description: Normalized domain name default_resolver: type: string title: Default Resolver description: Resolver id to highlight in the UI default: google dns: additionalProperties: $ref: '#/components/schemas/DnsResolverResultSchema' type: object title: Dns description: Results keyed by resolver id type: object required: - domain title: DnsLookupResultSchema description: DNS lookup result for a single domain across public resolvers SimilarWebCountryShareSchema: properties: Country: anyOf: - type: integer - type: 'null' title: Country CountryCode: anyOf: - type: string - type: 'null' title: Countrycode Value: anyOf: - type: number - type: 'null' title: Value type: object title: SimilarWebCountryShareSchema description: SimilarWeb country share row AnchorWordSchema: properties: word: type: string title: Word description: Normalized word token count: type: integer title: Count description: Occurrences across all anchors type: object required: - word - count title: AnchorWordSchema description: Word frequency for the anchor word cloud AnchorTextSummarySchema: properties: bl: anyOf: - type: integer - type: 'null' title: Bl description: Moz external pages to subdomain rd: anyOf: - type: integer - type: 'null' title: Rd description: Moz root domains to subdomain nofollow_bl: anyOf: - type: integer - type: 'null' title: Nofollow Bl description: Moz nofollow pages to subdomain nofollow_rd: anyOf: - type: integer - type: 'null' title: Nofollow Rd description: Moz nofollow root domains to subdomain pages: anyOf: - type: integer - type: 'null' title: Pages description: Moz pages to subdomain dofollow_bl: anyOf: - type: integer - type: 'null' title: Dofollow Bl description: Estimated dofollow backlinks (bl - nofollow_bl) type: object title: AnchorTextSummarySchema description: Link profile summary with derived dofollow count DnsTypeResultSchema: properties: status: type: string enum: - ok - empty - nxdomain - error title: Status description: Lookup outcome for this type records: items: $ref: '#/components/schemas/DnsRecordItemSchema' type: array title: Records description: Resource records (empty when not found) message: anyOf: - type: string - type: 'null' title: Message description: Error or diagnostic message when status is not ok type: object required: - status title: DnsTypeResultSchema description: DNS records for one type from one resolver AnchorTextRowSchema: properties: anchor: type: string title: Anchor description: Display anchor text links: type: integer title: Links description: Number of backlinks with this anchor ref_domains: type: integer title: Ref Domains description: Unique referring domains using this anchor percent: type: number title: Percent description: Share of sample_size as percent (0-100) type: object required: - anchor - links - ref_domains - percent title: AnchorTextRowSchema description: Aggregated anchor text row DnsResolverResultSchema: properties: resolver: type: string title: Resolver description: Resolver id nameservers: items: type: string type: array title: Nameservers description: Nameserver IPs used for this query types: additionalProperties: $ref: '#/components/schemas/DnsTypeResultSchema' type: object title: Types description: Results keyed by record type type: object required: - resolver title: DnsResolverResultSchema description: Full DNS snapshot from one public resolver HTTPValidationError: properties: detail: items: $ref: '#/components/schemas/ValidationError' type: array title: Detail type: object title: HTTPValidationError DomainExpiryResultSchema: properties: domain: type: string title: Domain description: Normalized domain name domain_status: anyOf: - type: string - type: 'null' title: Domain Status description: Registered | Available | Reserved | Unknown expires_ts: anyOf: - type: integer - type: 'null' title: Expires Ts description: Expiration unix timestamp (seconds) created_ts: anyOf: - type: integer - type: 'null' title: Created Ts description: Creation unix timestamp (seconds) updated_ts: anyOf: - type: integer - type: 'null' title: Updated Ts description: Last updated unix timestamp (seconds) days_left: anyOf: - type: integer - type: 'null' title: Days Left description: Days until expiration, if known type: object required: - domain title: DomainExpiryResultSchema description: WHOIS expiry data for a single domain SimilarWebEngagementsSchema: properties: BounceRate: anyOf: - type: number - type: 'null' title: Bouncerate Month: anyOf: - type: string - type: 'null' title: Month Year: anyOf: - type: string - type: 'null' title: Year PagePerVisit: anyOf: - type: number - type: 'null' title: Pagepervisit Visits: anyOf: - type: number - type: 'null' title: Visits TimeOnSite: anyOf: - type: number - type: 'null' title: Timeonsite type: object title: SimilarWebEngagementsSchema description: SimilarWeb engagement metrics DnsRecordItemSchema: properties: type: type: string title: Type description: Record type (A, MX, TXT, …) ttl: anyOf: - type: integer - type: 'null' title: Ttl description: TTL in seconds when known value: type: string title: Value description: Primary record value priority: anyOf: - type: integer - type: 'null' title: Priority description: MX/SRV priority or CAA critical flag weight: anyOf: - type: integer - type: 'null' title: Weight description: SRV weight port: anyOf: - type: integer - type: 'null' title: Port description: SRV port hostmaster: anyOf: - type: string - type: 'null' title: Hostmaster description: SOA hostmaster serial: anyOf: - type: integer - type: 'null' title: Serial description: SOA serial refresh: anyOf: - type: integer - type: 'null' title: Refresh description: SOA refresh retry: anyOf: - type: integer - type: 'null' title: Retry description: SOA retry expire: anyOf: - type: integer - type: 'null' title: Expire description: SOA expire minttl: anyOf: - type: integer - type: 'null' title: Minttl description: SOA minimum TTL type: object required: - type - value title: DnsRecordItemSchema description: Single DNS resource record WhoisRegistrarSchema: properties: name: anyOf: - type: string - type: 'null' title: Name description: Registrar name iana_id: anyOf: - type: string - type: 'null' title: Iana Id description: IANA registrar ID url: anyOf: - type: string - type: 'null' title: Url description: Registrar website URL abuse_email: anyOf: - type: string - type: 'null' title: Abuse Email description: Abuse contact email abuse_phone: anyOf: - type: string - type: 'null' title: Abuse Phone description: Abuse contact phone whois_server: anyOf: - type: string - type: 'null' title: Whois Server description: Registrar WHOIS server type: object title: WhoisRegistrarSchema description: Registrar block for WHOIS lookup DomainAuthorityResultSchema: properties: domain: type: string title: Domain description: Normalized domain name metrics: $ref: '#/components/schemas/DomainMetricsSchema' description: Collected metrics type: object required: - domain - metrics title: DomainAuthorityResultSchema description: Metrics for a single domain WhoisContactSchema: properties: name: anyOf: - type: string - type: 'null' title: Name description: Contact name organization: anyOf: - type: string - type: 'null' title: Organization description: Organization email: anyOf: - type: string - type: 'null' title: Email description: Email address phone: anyOf: - type: string - type: 'null' title: Phone description: Phone number fax: anyOf: - type: string - type: 'null' title: Fax description: Fax number address: anyOf: - type: string - type: 'null' title: Address description: Street address city: anyOf: - type: string - type: 'null' title: City description: City state: anyOf: - type: string - type: 'null' title: State description: State / province postal_code: anyOf: - type: string - type: 'null' title: Postal Code description: Postal / ZIP code country: anyOf: - type: string - type: 'null' title: Country description: Country type: object title: WhoisContactSchema description: Single WHOIS contact role (registrant / admin / tech / billing) KarmaMetricComponents: properties: A_mass: type: integer maximum: 100.0 minimum: 0.0 title: A Mass description: Mass component (0-100) A_cont: type: integer maximum: 100.0 minimum: 0.0 title: A Cont description: Continuity component (0-100) A_stab: type: integer maximum: 100.0 minimum: 0.0 title: A Stab description: Stability component (0-100) A_trend: type: integer maximum: 100.0 minimum: 0.0 title: A Trend description: Trend component (0-100) A_hist: type: integer maximum: 100.0 minimum: 0.0 title: A Hist description: Long-term history component (0-100) default: 0 type: object required: - A_mass - A_cont - A_stab - A_trend title: KarmaMetricComponents description: Karma metric components model securitySchemes: Bearer: type: http description: API key as Bearer token, or x402 PAYMENT-SIGNATURE for agent credits scheme: bearer