Wappalyzer Lists API
Lead list creation, pricing, and download lifecycle.
Lead list creation, pricing, and download lifecycle.
openapi: 3.0.3
info:
title: Wappalyzer Public Basics Lists 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: Lists
description: Lead list creation, pricing, and download lifecycle.
paths:
/lists:
get:
tags:
- Lists
operationId: listLeadLists
summary: List created lead lists
responses:
'200':
description: Lead lists returned successfully.
content:
application/json:
schema:
type: array
items:
$ref: '#/components/schemas/ListSummary'
'400':
$ref: '#/components/responses/BadRequest'
'403':
$ref: '#/components/responses/Forbidden'
'429':
$ref: '#/components/responses/TooManyRequests'
post:
tags:
- Lists
operationId: createLeadList
summary: Create a lead list
requestBody:
required: true
content:
application/json:
schema:
$ref: '#/components/schemas/CreateListRequest'
responses:
'200':
description: Lead list accepted for pricing and generation.
headers:
wappalyzer-credits-spent:
$ref: '#/components/headers/CreditsSpent'
wappalyzer-credits-remaining:
$ref: '#/components/headers/CreditsRemaining'
content:
application/json:
schema:
$ref: '#/components/schemas/CreateListAccepted'
'400':
$ref: '#/components/responses/BadRequest'
'403':
$ref: '#/components/responses/Forbidden'
'429':
$ref: '#/components/responses/TooManyRequests'
/lists/{id}:
get:
tags:
- Lists
operationId: getLeadList
summary: Fetch a lead list
parameters:
- $ref: '#/components/parameters/ListId'
responses:
'200':
description: Lead list returned successfully.
content:
application/json:
schema:
$ref: '#/components/schemas/ListDetail'
'400':
$ref: '#/components/responses/BadRequest'
'403':
$ref: '#/components/responses/Forbidden'
'429':
$ref: '#/components/responses/TooManyRequests'
post:
tags:
- Lists
operationId: finalizeLeadList
summary: Spend credits and finalize a ready lead list
parameters:
- $ref: '#/components/parameters/ListId'
requestBody:
required: true
content:
application/json:
schema:
$ref: '#/components/schemas/FinalizeListRequest'
responses:
'200':
description: Lead list finalized successfully.
headers:
wappalyzer-credits-spent:
$ref: '#/components/headers/CreditsSpent'
wappalyzer-credits-remaining:
$ref: '#/components/headers/CreditsRemaining'
content:
application/json:
schema:
$ref: '#/components/schemas/FinalizeListResponse'
'400':
$ref: '#/components/responses/BadRequest'
'403':
$ref: '#/components/responses/Forbidden'
'429':
$ref: '#/components/responses/TooManyRequests'
delete:
tags:
- Lists
operationId: deleteLeadList
summary: Delete a lead list
parameters:
- $ref: '#/components/parameters/ListId'
responses:
'200':
description: Lead list deleted successfully.
content:
application/json:
schema:
$ref: '#/components/schemas/EmptyObject'
'400':
$ref: '#/components/responses/BadRequest'
'403':
$ref: '#/components/responses/Forbidden'
'429':
$ref: '#/components/responses/TooManyRequests'
components:
schemas:
CreateListRequest:
type: object
properties:
categories:
type: array
items:
type: string
technologies:
type: array
items:
type: object
required:
- slug
properties:
slug:
type: string
operator:
type: string
pattern: ^[<>]?=$
version:
type: string
keywords:
type: array
items:
type: string
languages:
type: array
items:
type: string
countries:
type: array
items:
type: string
industries:
type: array
items:
type: string
companySizes:
type: array
items:
type: integer
tlds:
type: array
items:
type: string
matchCountryLanguage:
type: boolean
matchTechnologies:
type: string
enum:
- or
- and
- not
subset:
type: integer
subsetSlice:
type: integer
minimum: 0
maximum: 4
minAge:
type: integer
minimum: 0
maximum: 11
maxAge:
type: integer
minimum: 1
maximum: 12
fromDate:
type: integer
requiredSets:
type: array
items:
type: string
excludeNoTraffic:
type: boolean
excludeMultilingual:
type: boolean
sets:
type: array
description: Result field sets to include in the exported rows.
items:
type: string
callbackUrl:
type: string
format: uri
format:
type: string
enum:
- json
- csv
baseListId:
type: string
pattern: ^lst_
excludeListId:
type: string
pattern: ^lst_
rootPath:
type: boolean
subdomains:
type: string
enum:
- include
- exclude
- merge
ListSummary:
type: object
required:
- id
- status
properties:
id:
type: string
pattern: ^lst_
createdAt:
type: integer
status:
$ref: '#/components/schemas/ListStatus'
totalCredits:
type: integer
technologies:
type: array
items:
$ref: '#/components/schemas/ListTechnology'
keywords:
type: array
items:
type: string
rows:
type: integer
FinalizeListResponse:
type: object
required:
- id
- status
properties:
id:
type: string
pattern: ^lst_
status:
type: string
enum:
- Complete
url:
type: string
format: uri
ListStatus:
type: string
enum:
- Calculating
- Ready
- Failed
- Insufficient
- Complete
EmptyObject:
type: object
FinalizeListRequest:
type: object
required:
- spendCredits
properties:
spendCredits:
type: integer
Category:
type: object
required:
- slug
- name
properties:
id:
type: integer
slug:
type: string
name:
type: string
ListDetail:
type: object
required:
- id
- status
properties:
id:
type: string
pattern: ^lst_
createdAt:
type: integer
status:
$ref: '#/components/schemas/ListStatus'
technologies:
type: array
items:
$ref: '#/components/schemas/ListTechnology'
keywords:
type: array
items:
type: string
languages:
type: array
items:
type: string
countries:
type: array
items:
type: string
industries:
type: array
items:
type: string
companySizes:
type: array
items:
type: integer
tlds:
type: array
items:
type: string
matchCountryLanguage:
type: boolean
matchTechnologies:
type: string
enum:
- or
- and
- not
subset:
type: integer
subsetSlice:
type: integer
minAge:
type: integer
maxAge:
type: integer
fromDate:
type: integer
nullable: true
requiredSets:
type: array
items:
type: string
excludeNoTraffic:
type: boolean
excludeMultilingual:
type: boolean
sets:
type: array
items:
type: string
callbackUrl:
type: string
format: uri
nullable: true
totalCredits:
type: integer
url:
type: string
format: uri
nullable: true
sampleUrl:
type: string
format: uri
rows:
type: object
additionalProperties:
type: integer
setRows:
type: object
additionalProperties:
type: integer
CreateListAccepted:
type: object
required:
- id
- status
properties:
id:
type: string
pattern: ^lst_
status:
type: string
enum:
- Calculating
ListTechnology:
type: object
properties:
slug:
type: string
name:
type: string
operator:
type: string
pattern: ^[<>]?=$
version:
type: string
nullable: true
categories:
type: array
items:
$ref: '#/components/schemas/Category'
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.
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
parameters:
ListId:
name: id
in: path
required: true
description: Unique list identifier.
schema:
type: string
pattern: ^lst_
securitySchemes:
ApiKeyAuth:
type: apiKey
in: header
name: x-api-key