Attest Tech Stack API · v1

What is this website built with?

Send a URL, get back the CMS, ecommerce platform, hosting, analytics and payments it runs on — 156 detectable technologies, each reported with the header, cookie or page snippet that proved it. 1 credit per lookup, on the same key and balance as Attest Capture.

For agents

Use when

Use this when a task depends on what a business's website runs on: qualifying a sales lead (“only Shopify stores”), picking the right integration or plugin, checking whether a site already has analytics or a pixel installed, sizing up a competitor, or routing a support question to the right platform. Do not use it to read a page's content — fetch the page directly for that.

Bearer key · JSON

POST /api/v1/techstack

curl -s -X POST https://getattest.com.au/api/v1/techstack \
  -H "authorization: Bearer $ATTEST_API_KEY" \
  -H "content-type: application/json" \
  -d '{"url":"example.com"}'

url is required. A bare domain is treated as https://. No key yet? POST /api/v1/keys issues one with 25 free credits and no signup — see the key guide.

HTTP 200

Response

{
  "call_id": "bf82ba54-7d2c-4cce-b079-f300bd028a1e",
  "url": "https://getattest.com.au/",
  "final_url": "https://getattest.com.au/",
  "http_status": 200,
  "technologies": [
    { "name": "Vercel", "category": "hosting", "confidence": "high",
      "evidence": "header x-vercel-id: syd1::…" },
    { "name": "Stripe", "category": "payments", "confidence": "medium",
      "evidence": "page contains: buy.stripe.com" }
  ],
  "checked_at": "2026-09-16T09:31:41.949Z",
  "credits_charged": 1,
  "credits_remaining": 24
}

confidence is high when a vendor-specific header, cookie or generator tag matched, and medium when a script URL or markup pattern matched. Every result carries its evidence. call_id is your receipt for the charge.

Machine-readable failures

Errors

Errors return JSON such as {"error":"invalid_api_key"}. Failed lookups are refunded automatically.

400
url_required, invalid_url, unsupported_url_protocol, private_address_not_allowed, private_host_not_allowed, dns_resolution_failed, unsupported_content_type, response_too_large, redirect_limit_exceeded.
401
invalid_api_key — missing or unknown key.
402
insufficient_credits, with credits_required and credits_remaining.
429
rate_limit_exceeded, with limit and window_seconds.
502
fetch_timeout or fetch_failed — the site did not answer in time. Not charged.
503
services_unavailable. Retry once after 30 seconds.

One balance

Limits and cost

Each successful lookup costs 1 credit from the same balance Capture uses. Free keys share one allowance of 10 calls per minute across Capture and Tech Stack. Attest fetches one page with a 12-second timeout, follows up to 5 redirects and reads up to 2 MB of HTML. Only public HTTP and HTTPS addresses are reachable; private networks are refused on every redirect and at connection time.

156 technologies · 31 categories

Coverage

Advertising pixels
Meta Pixel, LinkedIn Insight Tag, TikTok Pixel, Pinterest Tag, X (Twitter) Pixel, Snap Pixel, Microsoft Advertising (UET), Google Ads
Analytics
Google Analytics, Segment, Mixpanel, Amplitude, Heap, PostHog, Plausible, Fathom, Matomo, Hotjar, Microsoft Clarity, FullStory, LogRocket, Vercel Analytics
Authentication
Auth0, Clerk
Back-end frameworks
Laravel, Django, Ruby on Rails, PHP, ASP.NET, Java, Express
Backend services
Firebase, Supabase
CDNs
Cloudflare, Amazon CloudFront, Fastly, Akamai, jsDelivr, unpkg, cdnjs
CMS
WordPress, Drupal, Joomla, Ghost, HubSpot CMS, Contentful, Sanity, Strapi
Cookie consent
Cookiebot, OneTrust, Osano, Termly
Creator platforms
Kajabi, Teachable, Thinkific, Podia, Substack
CSS frameworks
Bootstrap, Tailwind CSS
Ecommerce
Shopify, WooCommerce, Magento, BigCommerce, PrestaShop, OpenCart, Ecwid, Salesforce Commerce Cloud, Big Cartel, Gumroad, Lemon Squeezy
Email marketing
Klaviyo, Mailchimp, Kit (ConvertKit), Beehiiv
Fonts
Google Fonts, Adobe Fonts, Font Awesome
Forms
Typeform, Jotform, Tally
Hosting
Vercel, Netlify, Amazon S3, GitHub Pages, Heroku, Render, Fly.io, Google Cloud, WP Engine, Kinsta
JavaScript libraries
React, Vue.js, Angular, jQuery, Alpine.js, htmx
Live chat
Intercom, Drift, Freshchat, Tawk.to, Crisp, LiveChat, Tidio, Olark
Maps
Google Maps, Mapbox
Marketing automation
HubSpot, Marketo, Pardot, ActiveCampaign
Monitoring
Sentry
Payments
Stripe, PayPal, Square, Braintree, Klarna, Afterpay, Paddle, Chargebee, Recharge
Reviews
Trustpilot, Yotpo, Judge.me, Okendo, Reviews.io
Scheduling
Calendly, Cal.com
Search
Algolia
Security
Google reCAPTCHA, hCaptcha, Cloudflare Turnstile
Site builders
Squarespace, Wix, Webflow, Framer, Carrd, Weebly, Duda, GoDaddy Website Builder
Support desks
Zendesk, Gorgias
Tag managers
Google Tag Manager
Video
YouTube, Vimeo, Wistia, Loom
Web frameworks
Next.js, Nuxt, Gatsby, Astro, Remix, SvelteKit
Web servers
nginx, Apache, LiteSpeed, Microsoft IIS

What a result means

Scope

Detection reads the response headers, cookies and HTML of the single page you send, as Attest's fetcher received it at checked_at. Technologies loaded only by later JavaScript, used only on other pages, or hidden behind a login may not appear, and an empty list means nothing was detected — not that nothing is installed. It is not a security audit or a vulnerability scan.

Same key as Capture

One key. One balance. Every Attest service.

Issue a free key, then use it for Capture, Tech Stack and every other tool in the toolbox.

Get a free key