Live API

Identify the technologies used on any public website in real-time. Results are always guaranteed up-to-date and delivered within minutes.

This API is asynchronous: results are sent to a callback URL after the domain has been indexed.

Endpoint

GET https://api.wappalyzer.com/live/v2/

Properties

Property Description
Execution Synchronous / Asynchronous (when crawling or indexing multiple domains)
Request timeout 30s
Rate limit 5 requests / second (up to ten domains per request)

Parameters

Name Description
urls (required) Beetween one and ten website URLs (e.g. https://example.com,https://example.org).
callback_url A POST request will be made to the callback URL upon completion of the request (e.g. https://yourdomain.com). Required when recursive is true (default) or multiple urls are specified.
recursive Analyse multiple pages (true (default) or false). When false, the request is completed synchronously and no callback URL is required. Only one URL can be specified at a time.
sets Comma-separated list of additional field sets to include in the results (e.g. meta,social). See Fields. Use all to include all fields.

Callback

A callback URL is a public endpoint hosted on your own server. If you request a domain that we haven't seen before, you'll initially get an empty response while the website is being indexed. Minutes later, your callback URL will receive a POST request with the final results. Without a callback URL, you will not get these results unless you make another request.

Examples

Example request

By default, websites are crawled recursively by following links on the page and a callback URL is required.

curl -H "x-api-key: <your api key>" "https://api.wappalyzer.com/live/v2/?urls=https://example.com,https://example.org&callback_url=https://yourdomain.com"
Example response

The callback URL will receive a POST request when results become available. The callback URL will be invoked seperately for each requested URL.

[ { "url": "https://example.com", "crawl": true // Crawl initiated }, { "url": "https://example.org", "crawl": true // Crawl initiated } ]
Example request

In this example we pass a single URL, set recursive to false and no callback_url. This way only a single page is indexed and results are available directly in the response. This method is faster and requires less effort to set up but results are less comprehensive.

curl -H "x-api-key: <your api key>" "https://api.wappalyzer.com/live/v2/?urls=https://example.com&recursive=false"
Example response (success)
[ { "url": "https://example.com", "technologies": [ { "slug": "craft-cms", "name": "Craft CMS", "versions": [ "3.0.0" ], "categories": [ { "id": 1, "slug": "cms", "name": "CMS" } ] } ] } ]
Example response (error)
[ { "url": "https://example.com", "errors": [ "No response from server" ] } ]

Subscribe to receive occasional product updates.