Domain Checker API

DNS, SSL, HTTP, meta & WHOIS checks plus niche/category detection.

Best use-cases
Pre-screen leads/domains

Instantly validate DNS/SSL and basic content signals before outreach.

Traffic quality & compliance

Detect expired domains, thin content, or sensitive niches early.

Automation hooks

Score and route new domains by niche category and activity score.

Try Live
99.9 % Uptime
Response
10 req/s
0.009 Credits / request

Check domain (DNS/SSL/HTTP/WHOIS)


POST https://api.yeb.to/v1/domain/check
ParameterTypeReq.Description
api_key string yes Your API key
domain string yes Domain only, e.g. popnable.com
checks array opt Subset of ["dns","ssl","http","meta","length","whois"]
verbosity enum opt "result" | "compact" | "full" (default: "result")
timeout float opt HTTP timeout in seconds (optional)

Example

curl -X POST https://api.yeb.to/v1/domain/check \
  -H "Content-Type: application/json" \
  -d '{
  "api_key": "YOUR_KEY",
  "domain":  "popnable.com",
  "checks":  ["dns","ssl","http","meta","length","whois"],
  "verbosity": "result"
}'

Response Example

{
  "data": {
    "domain": "popnable.com",
    "timestamp_utc": "2025-09-22T15:50:31Z",
    "result": {
      "ssl":    { "valid": true, "days_left": 79, "valid_to": "2025-11-25T14:12:03Z" },
      "whois":  {
        "valid_domain": true,
        "expires_in_days": 301,
        "created": "2015-07-04T18:42:16Z",
        "updated": "2025-05-01T10:38:32Z",
        "registrar": "NameSilo, LLC",
        "name_servers_cnt": 2,
        "name_servers": ["ns1.example.net","ns2.example.net"]
      },
      "dns":   { "has_host_records": true, "ns_count": 2, "mx_count": 2 },
      "http":  { "status": 200, "final_url": "https://popnable.com/" },
      "content": { "thin_content": false, "has_content": true }
    },
    "evaluation": { "active": true, "score": 95 }
  }
}
{"error":"Missing \"domain\"","code":422}

Response Codes

CodeDescription
200 SuccessRequest processed OK.
400 Bad RequestInput validation failed.
401 UnauthorizedMissing / wrong API key.
403 ForbiddenKey inactive or not allowed.
429 Rate LimitToo many requests.
500 Server ErrorUnexpected failure.

domain/check

domain/check 0.0090 credits

Parameters

API Key
query · string · required
Domain
query · string · required
Checks
query · array
Verbosity
query · string
Timeout (s)
query · number

Code Samples


                
                
                
            

Response

Status:
Headers

                
Body

                

Detect niche (title/description/keywords + domain)


POST https://api.yeb.to/v1/domain/detect-niche
ParameterTypeReq.Description
api_key string yes Your API key
domain string yes Domain only, e.g. popnable.com
html string opt Optional pre-fetched HTML for analysis

Example

curl -X POST https://api.yeb.to/v1/domain/detect-niche \
  -H "Content-Type: application/json" \
  -d '{
  "api_key": "YOUR_KEY",
  "domain":  "popnable.com"
}'

Response Example

{
  "data": {
    "niche": "Music",
    "relevance": 97,
    "subniches": []
  }
}
{"error":"Missing \"domain\"","code":422}

Response Codes

CodeDescription
200 SuccessRequest processed OK.
400 Bad RequestInput validation failed.
401 UnauthorizedMissing / wrong API key.
403 ForbiddenKey inactive or not allowed.
429 Rate LimitToo many requests.
500 Server ErrorUnexpected failure.

domain/detect-niche

domain/detect-niche 0.0050 credits

Parameters

API Key
query · string · required
Domain
query · string · required
HTML
query · string

Code Samples


                
                
                
            

Response

Status:
Headers

                
Body

                

List taxonomy categories (GENERAL/SENSITIVE)


POST https://api.yeb.to/v1/domain/detect-category
ParameterTypeReq.Description
api_key string yes Your API key

Example

curl -X POST https://api.yeb.to/v1/domain/detect-category \
  -H "Content-Type: application/json" \
  -d '{
  "api_key": "YOUR_KEY"
}'

Response Example

{
  "data": {
    "GENERAL": ["News","Sports","Music","Movies","TV","Celebrities","Humor","Technology","Science","Education","Business","Finance","Careers","E-commerce","Travel","Food","Recipes","Restaurants","Real Estate","Automotive","Health","Wellness","Fitness","Lifestyle","Home & Garden","Parenting","Pets","Fashion","Beauty","Gaming","Apps","Software","Hardware","Gadgets","DevTools","Photography","Design","Art","Culture","Events","Communities","Blogs","Forum","Portfolio","Personal"],
    "SENSITIVE": ["Adult","Casino","Sports Betting","Poker","Lottery","Forex & High-risk Trading","Payday Loans","Debt Relief","Crypto","Tobacco & Vaping","Alcohol","Cannabis & CBD","Unlicensed Pharmacy","Firearms & Weapons","Hacking & Cracking","Pirated Content","Spyware / Malvertising","Misleading Health Claims","Political Advocacy / Persuasion","Extremism"]
  }
}
{"error":"Unauthorized","code":401}

Response Codes

CodeDescription
200 SuccessRequest processed OK.
400 Bad RequestInput validation failed.
401 UnauthorizedMissing / wrong API key.
403 ForbiddenKey inactive or not allowed.
429 Rate LimitToo many requests.
500 Server ErrorUnexpected failure.

domain/detect-category

domain/detect-category 0.0001 credits

Parameters

API Key
query · string · required

Code Samples


                
                
                
            

Response

Status:
Headers

                
Body

                

Domain Checker API — Practical Guide

A hands-on guide to assessing domains quickly: DNS/SSL/HTTP basics, meta/content signals, WHOIS/RDAP, and niche classification you can act on (SEO, risk controls, lead qualification).

#What Domain-Checker solves

A fast way to evaluate if a domain is live, secure, contentful, and legitimate — plus which niche it belongs to. Use it for onboarding checks, partner vetting, SEO audits, ad quality gates, and automated lead scoring.

#Endpoints & when to use them

#POST /v1/domain/check — All-in-one technical check

  • Best for: Quick health snapshot (DNS/SSL/HTTP/Meta/Content/WHOIS) with a single call.
  • Output: Actionable result plus an evaluation score indicating if the site looks “active”.
  • Use cases: Lead qualification, site monitoring, preflight checks before indexing/crawling.

#POST /v1/domain/detect-niche — Practical niche detection

  • Best for: Categorizing a site into a single niche (with subniches) for targeting or policy.
  • How it works: Uses only page title/description/keywords and domain name (either send HTML, or we fetch a small snippet).
  • Output: niche, relevance (0–100), subniches[], and is_sensitive.

#GET/POST /v1/domain/detect-category — Category taxonomy

  • Best for: Getting the authoritative list of allowed categories (GENERAL + SENSITIVE) to validate UI or pipelines.
  • Output: Flat lists you can present in forms or use to validate classification outputs.

#Quick start

curl -X POST "https://api.yeb.to/v1/domain/check" \
  -H "Accept: application/json" \
  -H "Content-Type: application/json" \
  -H "X-API-Key: <YOUR_API_KEY>" \
  -d '{
    "domain": "example.com",
    "checks": ["dns","ssl","http","meta","length","whois"],
    "options": { "verbosity": "result", "timeout": 8 }
  }'
curl -X POST "https://api.yeb.to/v1/domain/detect-niche" \
  -H "Accept: application/json" \
  -H "Content-Type: application/json" \
  -H "X-API-Key: <YOUR_API_KEY>" \
  -d '{ "domain": "popnable.com" }'

#Parameters that actually matter

#/v1/domain/check

ParamTypeRequiredPractical guidance
domain string Yes Just the hostname (no scheme). Example: example.com.
checks array No Subset of ["dns","ssl","http","meta","length","whois"]. Omit for all.
options.timeout number No Seconds. Keep 5–10s to balance speed vs resiliency.
options.verbosity string No "result" (minimal, default), "compact" (light telemetry), "full" (all internals for audits).

#/v1/domain/detect-niche

ParamTypeRequiredPractical guidance
domain string Yes Used for fetching a small snippet when html is not provided.
html string No Pre-fetched HTML (speeds up batch jobs, avoids network noise). We only use title/description/keywords.

#/v1/domain/detect-category

ParamTypeRequiredPractical guidance
Auth only. Returns the current taxonomy (GENERAL + SENSITIVE).

#Reading & acting on responses

#/v1/domain/check

{
  "domain": "example.com",
  "timestamp_utc": "2025-10-20T15:11:10Z",
  "result": {
    "ssl":    { "valid": true, "days_left": 72, "valid_to": "2026-01-01T00:00:00Z" },
    "whois":  { "valid_domain": true, "expires_in_days": 180, "created": "2010-05-04", "updated": "2024-11-01",
                "registrar": "Example Registrar", "name_servers_cnt": 2, "name_servers": ["ns1.example.net","ns2.example.net"] },
    "dns":    { "has_host_records": true, "ns_count": 2, "mx_count": 1 },
    "http":   { "status": 200, "final_url": "https://example.com/" },
    "content":{ "thin_content": false, "has_content": true }
  },
  "evaluation": { "active": true, "score": 75 }
}
  • First glance: evaluation.active and evaluation.score (0–100) — your quick “is this site healthy?” signal.
  • Decisioning tips:
    • Score ≥ 40 → treat as active (crawl, consider for partnerships/ads).
    • No HTTP or expired WHOIS → flag for manual review or block in paid campaigns.
    • content.thin_content = true → avoid indexing or reduce crawl frequency.

#/v1/domain/detect-niche

{
  "data": {
    "niche": "Music",
    "relevance": 97,
    "is_sensitive": false,
    "subniches": [
      {"name":"Celebrities","relevance":84}
    ]
  }
}
  • niche — always one of the allowed categories. Use for routing, targeting, or policy.
  • is_sensitive — direct compliance helper (ads, affiliate rules, search inclusion).
  • relevance — confidence-like score; consider thresholds (e.g., ≥70 accept, else manual check).

#/v1/domain/detect-category

{
  "data": {
    "GENERAL": ["News","Sports","Music","Movies", "..."],
    "SENSITIVE": ["Adult","Casino","Sports Betting","Poker","Lottery", "..."]
  }
}

#Practical recipes

  • Lead scoring: If evaluation.active and whois.valid_domain and not content.thin_content → mark as “qualified”.
  • Ad safety: If detect-niche.is_sensitive → disallow or route to stricter review queue.
  • SEO triage: If http.status ≥ 400 or dns.has_host_records=false → drop from crawl list.

#API Changelog

2025-10-20
Added niche detection with clear is_sensitive flag and relevance scoring; improved WHOIS→RDAP fallback and compact/full verbosity modes.
2025-10-15
Heuristic evaluation.score now factors content thinness and HTTP outcomes more strongly for better lead triage.
2025-10-05
Initial release of /domain/check with DNS/SSL/HTTP/Meta/Length/WHOIS coverage and public result schema.

Frequently Asked Questions

Yes. Every request, even those resulting in errors, consumes credits. This is because your credits are tied to the number of requests, regardless of success or failure. If the error is clearly due to a platform problem on our end, we will restore the affected credits (no cash refunds).

Contact us at [email protected]. We take feedback seriously—if your bug report or feature request is meaningful, we can fix or improve the API quickly and grant you 50 free credits as a thank you.

It depends on the API and sometimes even on the endpoint. Some endpoints use data from external sources, which may have stricter limits. We also enforce limits to prevent abuse and keep our platform stable. Check the docs for the specific rate limit for each endpoint.

We operate on a credit system. Credits are prepaid, non-refundable units you spend on API calls and tools. Credits are consumed FIFO (oldest first) and are valid for 12 months from the purchase date. The dashboard shows each purchase date and its expiry.

Yes. All purchased credits (including fractional balances) are valid for 12 months from purchase. Unused credits automatically expire and are permanently deleted at the end of the validity period. Expired credits cannot be restored or converted to cash or other value. Transitional rule: credits bought before 22 Sep 2025 are treated as purchased on 22 Sep 2025 and expire on 22 Sep 2026 (unless an earlier expiry was stated at purchase).

Yes—within their validity window. Unused credits remain available and roll over month-to-month until they expire 12 months after purchase.

Credits are non-refundable. Only buy what you need—you can always top up later. If a platform-side error causes a failed charge, we may restore the affected credits after investigation. No cash refunds.

Prices are set in credits, not dollars. Each endpoint lists its own cost—see the “Credits / request” badge above. You’ll always know exactly what you’re spending.
← Back to APIs