Lookup API

Perform near-instant technology lookups with the Lookup API. Results are fetched from our comprehensive database of millions of websites. If we haven't seen a domain before, we'll index it immediately and report back within minutes.

Results are site-wide and may even include pages behind logins that typical crawlers can't reach. Where available, country, language and traffic data are included.

Endpoint

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

Properties

Property Description
Execution Synchronous / Asynchronous (when response yields no results)
Request timeout 30s
Rate limit 1 request / second (up to ten domains per request)

Parameters

Name Description
urls (required) Between one and ten website URLs, comma-separated (e.g. https://example.com,https://example.org).
callback_url If instant results are unavailable, A POST request will be made to the callback URL upon completion of the request (e.g. https://yourdomain.com).
denoise Exclude low confidence results (true (default) or false).
max_age Return results of up to max_age months old (1-12). Set to 1 to only return fresh results. Defaults to 2.
squash Combine monthly results into a single set when true (default). Set to false to group results by month.
sets Comma-separated list of additional attribute sets to include in the results (e.g. meta,social). See Attribute sets.

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

In this example we request two URLs with a callback URL and the default options.

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

We get a result for each URL, in this case one successful and one empty. An empty response means the website has either not been indexed, or no technologies were found. The crawl field indicates that a crawl has been initiated. When ready, results will be sent to the callback URL provided.

The trafficRank value is a relative traffic indicator. A higher number means a more trafficked website.

[
  {
    "url": "https://example.com",
    "technologies": [
      {
        "slug": "craft-cms",
        "name": "Craft CMS",
        "categories": [
          {
            "id": 1,
            "slug": "cms",
            "name": "CMS"
          }
        ],
        "versions": [
          "3.0.0"
        ],
        "trafficRank": 0
      }
    ]
  },
  {
    "url": "https://example.org",
    "technologies": [], // No results available
    "crawl": true // Crawl initiated
  }
]
Example response (error)
[
  {
    "url": "https://example.com",
    "errors": [
      "Something went wrong"
    ]
  }
]
Example callback 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",
  "technologies": [
    {
      "slug": "craft-cms",
      "name": "Craft CMS",
      "versions": [
        "3.0.0"
      ],
      "categories": [
        {
          "id": 1,
          "slug": "cms",
          "name": "CMS"
        }
      ]
    }
  ]
}
Example request

In this example we set squash to false to get results grouped by month. This is useful to see changes to the technology stack over time. We set max_age to 12 to get up to a year's worth of data (subject to availability).

curl -H "x-api-key: <your api key>" "https://api.wappalyzer.com/lookup/v2/?urls=https://example.com&callback_url=https://yourdomain.com&squash=false&max_age=12"
Example response
[
  {
    "url": "https://example.com",
    "results": [
      {
        "monthYear": "01-2020", // The month in which the technologies were indentified
        "technologies": [
          {
            "slug": "craft-cms",
            "name": "Craft CMS",
            "categories": [
              {
                "id": 1,
                "slug": "cms",
                "name": "CMS"
            ],
            "versions": [
              "3.0.0"
            ],
            "trafficRank": 0
          }
        ]
      },
      {
        "monthYear": "02-2020",
        "technologies": [
          ...
        ]
      }
    ]
  }
]

Subscribe to receive occasional product updates.