Domain profile

Everything we serve for one hostname: its technologies, network, platform, identity fields, and the latest traffic and employee estimates where we hold them.

GET /domain/{domain}

Costs 1 lookup

Everything we serve for one hostname: its technologies, network, platform, identity fields, and the latest traffic and employee estimates where we hold them.

A not_found answer still spends the lookup: the question was asked and answered.

Base URL https://getdomaindata.com/api/v1

Parameters

NameInTypeRequiredMeaning
domainpathstringyesA hostname, for example allbirds.com or shop.example.co.uk. Profiles are per hostname, so a subdomain is its own record.

Request

curl

curl https://getdomaindata.com/api/v1/domain/allbirds.com \ -H "Authorization: Bearer gdd_live_YOUR_KEY"

JavaScript

const KEY = process.env.GDD_API_KEY; const r = await fetch("https://getdomaindata.com/api/v1/domain/allbirds.com", { headers: { Authorization: "Bearer " + KEY } }); const { data } = await r.json(); console.log(r.headers.get("X-Quota-Remaining"), data);

Python

import os, requests h = {"Authorization": "Bearer " + os.environ["GDD_API_KEY"]} r = requests.get("https://getdomaindata.com/api/v1/domain/allbirds.com", headers=h) print(r.headers.get("X-Quota-Remaining"), r.json()["data"])

Response

A real record from the serving database, abridged where marked with an ellipsis. Null stays null.

{ "data": { "domain": "allbirds.com", "resolves": true, "technologies": [ "Amazon SES", "Apple", "Cloudflare", "DigiCert/Azure", "DocuSign", "Google", "Google Tag Manager", "HSTS", "..." ], "network": "Shopify", "platform": "shopify", "registrar": null, "age_days": null, "country_iso": null, "lang_norm": "en", "http_status": null, "redirect_to": null, "traffic": { "estimated_monthly_visits": 2137979, "band": "1M-10M", "as_of": "2026-08" }, "employees": { "apex": "allbirds.com", "low": 501, "high": 2000, "point": null, "as_of": "2026-09-10" } } }
FieldTypeMeaning
domainstringThe hostname you asked for, lower-cased.
resolvesboolean | nullWhether the hostname resolved when last checked.
technologiesstring[] | nullTechnology names we detected on the site, alphabetical.
networkstring | nullThe network or provider the site is served from.
platformstring | nullThe site platform when it is one we classify (for example shopify).
registrarstring | nullRegistrar name where known.
age_daysnumber | nullDays since registration where known.
country_isostring | nullTwo-letter country code where we could place the site.
lang_normstring | nullPrimary language code where known.
http_statusnumber | nullStatus code from the last fetch of the homepage where known.
redirect_tostring | nullWhere the homepage redirected, where it did.
trafficobject | nullLatest traffic estimate: estimated_monthly_visits, band, as_of (YYYY-MM). Null when we hold none.
employeesobject | nullLatest employee estimate for the organisation behind the apex: apex, low, high (null = open-ended), point (a specific figure when we hold one), as_of. Null when we hold none.

Errors this endpoint returns

All errors
401 invalid_keyThe key is missing, malformed, or revoked. Check the Authorization header and the key on your account page. Revoked keys stop on the next request.
429 rate_limitedToo many requests this minute for your plan. Back off until the reset time in the body, then retry.
402 quota_exhaustedThis month's lookups are spent. Wait for the first of the month, or add a pack from the account page. The API never throttles silently.
400 bad_domainThe domain is not a plausible hostname. Send lower-case hostnames of 3 to 253 characters, letters, digits, dots and hyphens only.
404 not_foundWe do not hold that domain or technology. Nothing to retry. The lookup is still spent for domain calls.
503 metering_unavailableThe quota could not be read, so nothing was served. Retry in a moment. No lookup was spent.