apyhub
ARTIFICIAL INTELLIGENCE · MARKETING

Extract Domain Insights API

What it does

Domain Profile Builder analyzes a target domain or URL and returns a complete profile for that site. Send target, and you can optionally set classify_top_k to control how many top classifications are returned and top_k_keywords to control keyword depth.

Use it when you need a quick, structured read on a website before enrichment, lead scoring, competitive research, or SEO triage. The response is an open-ended JSON object, so it can include the profile data your workflow needs without forcing a fixed document shape.

For example, you can feed in msn.com to identify what kind of site it is and extract the most relevant keywords for downstream analysis. Domain Profile Builder is a good fit for pipelines that need to inspect many domains, compare them consistently, or attach site-level context to other data.

Because the output schema is intentionally flexible, keep your integration focused on the fields your workflow actually uses and treat the response as a structured profile payload.

POST
Build complete domain profile
http://localhost:8080/dosvak/build-domain-profile
QUICKSTARTGUIDE

Quickstart

Analyze a domain by sending the required target value in a JSON body.

curl -X POST "http://localhost:8080/dosvak/build-domain-profile" \
  -H "apy-token: $APY_TOKEN" \
  -H "Content-Type: application/json" \
  -d '{
    "target": "msn.com"
  }'

What you'll get back

Returns a JSON object with no fixed top-level fields declared in the schema; the response may include analysis data specific to the domain.

{
  "target": "msn.com",
  "normalized": {
    "url": "https://msn.com",
    "domain": "msn.com"
  },
  "snapshot": {
    "title": "Example Domain",
    "description": "Illustrative example site.",
    "canonical_url": "https://msn.com/",
    "h1_count": 1
  },
  "image": {
    "preview_url": "https://screens.front-page.com/msn-com--.jpeg"
  },
  "analysis": {
    "performance": { "status_code": 200, "response_time_ms": 154.3, "score": 88 },
    "seo": { "keyword_count": 2, "has_canonical": true, "score": 92 }
  },
  "lookups": {
    "pagerank": { "found": true, "result": { "pr_score_10_bucket": 7 } },
    "keyword_extract": { "success": true, "data": { "keywords": [{ "keyword": "example", "score": 0.98 }] } }
  },
  "classification": {
    "result": {
      "tiers": {
        "tier1": { "top_label": "Reference", "top_score": 0.87 }
      }
    }
  },
  "meta": {
    "request_id": "0aadf853-68a9-4380-9728-6e0af6b1ca51",
    "fetched_status": 200
  }
}
TRY ITLIVE · 10 ATOMS
Loading your default key…
The full key is used to call the gateway and stays in this tab — never sent to orbit or saved.
body*
URL or domain to analyze.

About this endpoint

What it does

Builds a complete profile for a target domain or URL by analyzing the value you provide in the request body and returning a JSON object. The response schema is not further defined, so the exact output fields are not documented here.

Request Body

ParameterTypeMandatoryDescription
targetStringYesURL or domain to analyze.
classify_top_kIntegerNoDefault: 3; minimum: 1; maximum: 20.
top_k_keywordsIntegerNoDefault: 10; minimum: 1; maximum: 30.

Response

Returns a JSON object, but the success schema is not defined beyond allowing additional properties. The response shape and field names are not documented in the schema.

Body

Name
Type
Description
bodyREQUIRED
object
▣ COMMON ERRORS

Errors any endpoint can return

400bad_request

Required parameter missing or malformed body.

401unauthorized

API key missing, revoked, or not authorized for this service.

429rate_limited

Your plan's per-second rate exceeded. Retry with exponential backoff.

503upstream_busy

Backend temporarily unavailable. Try again in a few seconds.