API

Base URL https://betascan.com/api/v1/. Authentication: your API token in the Authorization: Bearer header (find it in the dashboard). Answers are JSON; errors return an HTTP status code and {"error": "..."}.

Lookup

GET /api/v1/lookup/{domain} — technologies of a website. Costs 1 credit; a domain unknown to the database is fetched live.

curl -H "Authorization: Bearer YOUR_API_TOKEN" https://betascan.com/api/v1/lookup/shopify.com
{
  "domain": "shopify.com",
  "scanned_at": "2026-10-08 10:00:00",
  "technologies": [
    {"slug": "shopify", "name": "Shopify", "categories": ["Ecommerce"], "version": "", "confidence": 100, "first_seen": "2026-10-08", "last_seen": "2026-10-08"}
  ],
  "credits_left": 999
}

Technologies

GET /api/v1/technologies — the catalogue with site counts. GET /api/v1/technologies/{slug} — one technology with its statistics.

Lists

GET /api/v1/lists/{slug} starts a download job: the full list for a technology in one of your plan slots, a sample of the 50 best-ranked sites for any other published technology (free accounts get samples only; filters apply to full lists). Parameters: kind = current (default) | new | dropped, days (for new / dropped, 1-90), format = list | dataset, filters country, tld, rank_majestic_max, rank_netapi_max, registered_from, registered_to, has_email, has_phone. The answer carries a job id.

GET /api/v1/jobs/{id} — job status; when done, file_url points at the gzip CSV (kept 30 days).

Account

GET /api/v1/account — plan, technology slots, credits left in the current period.

Limits

Lookup credits per month depend on the plan (free accounts: 100). Requests above 10 per second are rejected with 429.