Website Audit API
WHOIS Alerts, Tech Stack, DNS, TLS
Example request
curl -X POST https://radarbg.com/v1/website-intelligence \
-H "X-API-Key: YOUR_KEY" -H "Content-Type: application/json" \
-d '{"domains": ["shopify.com", "stripe.com", "wordpress.org", "hubspot.com", "notion.so"], "includeCompanyInfo": true, "includeWhois": true, "includeTls": true}'
Answer: {"ok": true, "count": N, "items": [...], "usage": {...}}. Failed calls are not counted.
Inputs
| Field | Type | Description |
|---|---|---|
domains | array | Company websites to analyse, for example shopify.com, stripe.com or https://www.hubspot.com. Bare domains and full URLs are accepted; each site gets one combined row. If left empty, five example sites are used. |
includeCompanyInfo | boolean | Add the page title, meta description, generator tag and the company's own social profile links (LinkedIn, X/Twitter, Facebook, Instagram, YouTube, TikTok, GitHub) found on the homepage. |
includeWhois | boolean | Add registrar, creation and expiry dates, domain age, days to expiry, status, nameservers and DNSSEC from the official RDAP service. No personal registrant data is output. |
includeTls | boolean | Add the TLS certificate issuer, validity dates and days left until expiry. |
includeRedirects | boolean | Follow the http:// address of the domain and record the redirect chain and the final URL. |
includeSitemap | boolean | Read robots.txt and sitemap.xml and count the URLs listed (sitemap indexes are sampled and extrapolated). A light check, not a crawl. |
includeLighthouse | boolean | Run a real Google Lighthouse audit (headless Chrome) per site and add performance, accessibility, best-practices and SEO scores plus Core Web Vitals. Takes 20-60 seconds per site and needs at least 2 GB of memory, so it is off by default. |
lighthouseStrategy | string | Only used when Lighthouse is on: audit as a mobile phone (Lighthouse default throttling) or as a desktop. |
includeScreenshot | boolean | Take a PNG screenshot of the homepage (1366x768 viewport) with headless Chromium and add a download link to each row. Needs at least 2 GB of memory, so it is off by default. |
minConfidence | integer | Only report technologies detected with at least this confidence (0-100). 50 hides weak single-signal guesses; use 100 for the strictest list. |
maxConcurrency | integer | How many websites are scanned in parallel. 8 is polite; lower it if sites or RDAP servers rate-limit you. |
monitorId | string | Optional. If set, the actor remembers the last scan of each domain under this ID and outputs only domains that changed since then, with changes[] (added/removed technologies, MX or nameserver change, registrar or expiry change, TLS issuer c |
includeUnchanged | boolean | Only used with a Monitor ID. Off = unchanged domains are skipped (and not charged). On = every domain is output, with an empty changes[] when nothing changed. |
datasetId | string | Optional. Pick a dataset (or paste its ID) to read the input from, for example the result of Google Maps Scraper. When this actor runs as an integration, the dataset of the triggering run is used automatically (payload.resource.defaultDatas |
Price
Included in every plan: 100 calls a month free, then from €9 a month for 3,000 calls across all APIs.