Wappalyzer Lookup API
Website technology lookup and asynchronous crawl callbacks.
Website technology lookup and asynchronous crawl callbacks.
openapi: 3.0.3
info:
title: Wappalyzer Public Basics Lookup API
version: v2
description: 'OpenAPI 3.0 contract for Wappalyzer''s documented public REST endpoints.
Covers credit balance, technology lookup, lead lists, subdomain discovery,
and email verification.
'
license:
name: Proprietary
url: https://www.wappalyzer.com/terms/
contact:
name: Wappalyzer Support
url: https://www.wappalyzer.com/contact/
servers:
- url: https://api.wappalyzer.com/v2
security:
- ApiKeyAuth: []
tags:
- name: Lookup
description: Website technology lookup and asynchronous crawl callbacks.
paths:
/lookup:
get:
tags:
- Lookup
operationId: lookupWebsites
summary: Look up technologies and related website intelligence
description: 'Looks up one or more websites. The response can complete synchronously
or return pending crawl markers when an asynchronous crawl is required.
'
parameters:
- $ref: '#/components/parameters/Urls'
- $ref: '#/components/parameters/Live'
- $ref: '#/components/parameters/Recursive'
- $ref: '#/components/parameters/CallbackUrl'
- $ref: '#/components/parameters/DebugEmail'
- $ref: '#/components/parameters/Sets'
- $ref: '#/components/parameters/Denoise'
- $ref: '#/components/parameters/MinAge'
- $ref: '#/components/parameters/MaxAge'
- $ref: '#/components/parameters/Squash'
responses:
'200':
description: Lookup completed or crawl accepted.
headers:
wappalyzer-credits-spent:
$ref: '#/components/headers/CreditsSpent'
wappalyzer-credits-remaining:
$ref: '#/components/headers/CreditsRemaining'
content:
application/json:
schema:
type: array
items:
oneOf:
- $ref: '#/components/schemas/LookupCompleted'
- $ref: '#/components/schemas/LookupPending'
- $ref: '#/components/schemas/LookupError'
'400':
$ref: '#/components/responses/BadRequest'
'403':
$ref: '#/components/responses/Forbidden'
'429':
$ref: '#/components/responses/TooManyRequests'
components:
parameters:
Squash:
name: squash
in: query
description: Merge monthly results into a single result set.
schema:
type: boolean
default: true
MinAge:
name: min_age
in: query
description: Return results verified at least this many months ago.
schema:
type: integer
minimum: 0
Urls:
name: urls
in: query
required: true
description: Between one and ten website URLs, comma separated. Multiple URLs are not supported with `recursive=false`.
schema:
type: array
minItems: 1
maxItems: 10
items:
type: string
format: uri
style: form
explode: false
MaxAge:
name: max_age
in: query
description: Return results verified within the last `max_age` months.
schema:
type: integer
minimum: 1
maximum: 12
default: 2
Live:
name: live
in: query
description: Scan websites in real time instead of relying on cached results when needed.
schema:
type: boolean
default: false
CallbackUrl:
name: callback_url
in: query
description: Public callback URL that receives asynchronous lookup results.
schema:
type: string
format: uri
Denoise:
name: denoise
in: query
description: Exclude low-confidence detections.
schema:
type: boolean
default: true
Recursive:
name: recursive
in: query
description: Follow internal links for increased coverage. Asynchronous when true and a crawl is required.
schema:
type: boolean
default: true
Sets:
name: sets
in: query
description: Comma-separated list of additional result field sets to include. Use `signals` to request `technologySpend` and `trafficLevel`.
schema:
type: array
items:
type: string
style: form
explode: false
DebugEmail:
name: debug_email
in: query
description: Debug-only email address that receives callback troubleshooting information.
schema:
type: string
format: email
responses:
Forbidden:
description: Authorization failed, the resource or method is invalid, or the account lacks sufficient credits.
TooManyRequests:
description: Rate limit exceeded.
BadRequest:
description: The request payload or query string was invalid.
schemas:
LookupPending:
type: object
required:
- url
- crawl
properties:
url:
type: string
format: uri
technologies:
type: array
items:
$ref: '#/components/schemas/Technology'
crawl:
type: boolean
Technology:
type: object
required:
- slug
- name
properties:
slug:
type: string
name:
type: string
cpe:
type: string
versions:
type: array
items:
type: string
categories:
type: array
items:
$ref: '#/components/schemas/Category'
trafficRank:
type: integer
confirmedAt:
type: integer
LookupCompleted:
type: object
required:
- url
- technologies
properties:
url:
type: string
format: uri
technologies:
type: array
items:
$ref: '#/components/schemas/Technology'
technologySpend:
type: string
description: Estimated technology spend derived from the detected technologies.
enum:
- Very low
- Low
- Medium
- High
- Very high
trafficLevel:
type: string
description: Relative monthly traffic level when Wappalyzer has current hostname traffic data.
enum:
- Very low
- Low
- Medium
- High
- Very high
LookupError:
type: object
required:
- url
- errors
properties:
url:
type: string
format: uri
errors:
type: array
items:
type: string
Category:
type: object
required:
- slug
- name
properties:
id:
type: integer
slug:
type: string
name:
type: string
headers:
CreditsRemaining:
description: Remaining credit balance after the request completes.
schema:
type: integer
CreditsSpent:
description: Number of credits deducted by the request.
schema:
type: integer
securitySchemes:
ApiKeyAuth:
type: apiKey
in: header
name: x-api-key