Lead lists
A Business plan is required to use this feature.
Compare plansBuild targeted prospect lists from the technologies, keywords, and account attributes that match your market. Lead lists can include websites, company and contact details, social media profiles, and other enrichment data for prospecting, segmentation, and reporting.
Returns the lead lists you have created so you can monitor status, pricing, and available results.
GET https://api.wappalyzer.com/v2/lists/
| Property | Description |
|---|---|
| Execution | Synchronous |
| Request timeout | 20 seconds |
| Rate limit | 10 requests per second |
| Pricing | Free |
| Name | Description |
|---|---|
id | The list's unique identifier. |
createdAt | List creation date as a UNIX timestamp. |
status |
List status. One of Calculating,
Ready, Failed,
Insufficient or Complete.
|
totalCredits | The price of the list in credits. |
technologies | Array of technologies. |
keywords | Array of keywords. |
rows | The total number of results in the list per technology. |
Request
curl -H "x-api-key: <your api key>" "https://api.wappalyzer.com/v2/lists/"
Response
[ { "id": "lst_abcdef", "createdAt": 1620687647, "status": "Ready", "totalCredits": 1000, "technologies": [ { "slug": "shopify", "name": "Shopify", "categories": [ { "slug": "ecommerce", "name": "Ecommerce" } ], "operator": "=", "version": null }, ], "keywords": [], "rows": 1000 } ]
Returns the full details of a list by its ID, including filters, pricing, download URLs, and field coverage once the list is ready.
GET https://api.wappalyzer.com/v2/lists/{id}
| Property | Description |
|---|---|
| Execution | Synchronous |
| Request timeout | 20 seconds |
| Rate limit | 10 requests per second |
| Pricing | Free |
| Parameter | Description |
|---|---|
id |
The list's unique identifier, e.g. lst_abcdef.
|
| Name | Description |
|---|---|
id |
The list's unique identifier, e.g. lst_abcdef.
|
createdAt | List creation date as a UNIX timestamp. |
status |
List status. One of Calculating,
Ready, Failed,
Insufficient or Complete.
|
technologies | Array of technologies. |
keywords | Array of keywords. |
languages |
Array of language codes (ISO 639-1), e.g. en-us.
|
countries |
Array of two-letter country codes (ISO 3166-2), e.g.
US.
|
industries |
Array of industries, e.g. Fashion & Apparel.
|
companySizes |
Array of company sizes, e.g.
1,001-5,000 employees |
tlds | Array of top-level domains, e.g. .com. |
matchCountryLanguage |
Filtering by both country and language (true) or
either (false).
|
matchTechnologies |
Operator for the technology filter, one of or,
and or not.
|
rootPath | Only include websites that have the selected technology on the root path (typically the homepage). |
subset |
Limits the number of results in the list per technology. Use
subsetSlice to target higher or lesser trafficked
websites.
|
subsetSlice |
Websites in the list are sorted in order of traffic. When a
subset is specified,
subsetSlice determines which section of the list
the results should be taken from (i.e. top or bottom). Set to
0-4 for highest, high, medium, low and
lowest traffic, respectively. Default is 0 for
highest traffic. This option has no effect when subset is equal to
or larger than the total number of available results.
|
subdomains |
Include or exclude subdomains in the results. One of
include, exclude or
merge.
|
minAge |
Include results that were verified at least
minAge months ago (0-11,
default is 0).
|
maxAge |
Include results that were verified at most
maxAge months ago (1-12,
default 3).
|
fromDate | Only include websites that were discovered after a date (UNIX timestamp). |
requiredSets | Array of required field sets, see Fields. |
excludeNoTraffic | Exclude websites that don't include traffic data. |
excludeMultilingual | Exclude websites with content in more than one language. |
sets | Array of field sets to include in the results. |
callbackUrl | Callback URL that's notified when the list is ready. |
totalCredits | The price of the list in credits. |
url | URL of a ZIP file with the list. |
sampleUrl | URL of a ZIP file with a sample taken from the list. |
rows | Number of results in the list per technology. |
setRows | Number of values included in the list per field set. |
baseListId | ID of the list that was used as a base for this list, if any. |
baseList | Details of the list that was used as a base for this list, if any. |
Request
curl -H "x-api-key: <your api key>" "https://api.wappalyzer.com/v2/lists/lst_abcdef"
Response
{ "id": "lst_abcdef", "createdAt": 1620687647, "status": "Ready", "technologies": [ { "slug": "shopify", "name": "Shopify", "categories": [ { "slug": "ecommerce", "name": "Ecommerce" } ], "operator": "=", "version": null }, ], "keywords": [ "FASHION" ], "languages": [ "en-us" ], "countries": [ "US" ], "industries": [ "Fashion & Apparel" ], "companySizes": [ "1,001-5,000 employees" ], "tlds": [ ".com" ], "matchCountryLanguage": false, "matchTechnologies": "or", "rootPath": false, "subset": 1000, "subsetSlice": 0, "subdomains": "include", "minAge": 0, "maxAge": 3, "fromDate": null, "requiredSets": [ "email" ], "excludeNoTraffic": false, "excludeMultilingual": false, "sets": [ "email", ], "callbackUrl": "https://yourdomain/wappalyzer", "format": "csv", "totalCredits": 1000, "url": null, "sampleUrl": "https://lists.wappalyzer.com/wappalyzer-29ddddaa-4949-4217-86a7-f6a407e5853d-lst_abcdef-5ukjhs-sample.zip", "rows": { "shopify": 1000 }, "setRows": { "email": 1000, }, "baseListId": "lst_abcdef" }
Create a new lead list from technologies, keywords, and company filters. Use this endpoint to turn your ICP criteria into a downloadable prospect set.
POST https://api.wappalyzer.com/v2/lists
| Property | Description |
|---|---|
| Execution | Asynchronous |
| Request timeout | 20 seconds |
| Rate limit |
10 requests per second 25 requests per day 3 concurrent requests (lists with Calculating status)
|
| Pricing | Free |
| Name | Description | ||||||||
|---|---|---|---|---|---|---|---|---|---|
technologies |
Array of technologies to filter by (no more than 50).
| ||||||||
categories |
Array of category slugs to filter by (e.g.
payment-processors). Refer to the full
list of categories
(JSON).
If a category includes more than 50 technologies, only the top 50 technologies will be selected. | ||||||||
keywords |
Array of keywords to filter by, e.g.
fashion. Keywords must be alphanumeric
(a-z0-9) and work best with English nouns. Prefix
with not to exclude, e.g.
not fashion.
| ||||||||
languages |
Array of language codes (ISO 639-1) to filter, e.g. en-us.
| ||||||||
countries |
Array of two-letter country codes (ISO 3166-2) to filter, e.g. US.
| ||||||||
industries |
Array of industries, e.g. Fashion & Apparel.
| ||||||||
companySizes |
Array of company sizes to filter, e.g.
5000 for 1,001-5,000 employees.
| ||||||||
tlds |
Array of top-level domains to filter, e.g. .com.
| ||||||||
matchCountryLanguage |
Filter by both country and language (true) or
either (false).
| ||||||||
matchTechnologies |
Operator for the technology filter, one of
or (match any), and (match all) or
not (match the first technology, exclude all
others).
| ||||||||
rootPath | Only include websites that have the selected technology on the root path (typically the homepage). | ||||||||
subset |
Limit the number of results in the list per technology. Use
subsetSlice to target high or low traffic websites.
| ||||||||
subsetSlice |
Websites in the list are sorted in order of traffic. When a
subset is specified,
subsetSlice determines which section of the list
the results should be taken from (i.e. top or bottom). Set to
0-4 for highest, high, medium, low and
lowest traffic, respectively. Default is 0 for
highest traffic. This option has no effect when subset is equal to
or larger than the total number of available results.
| ||||||||
minAge |
Include results that were verified at least
minAge months ago (0-11,
default is 0).
| ||||||||
maxAge |
Include results that were verified at most
maxAge months ago (1-12,
default is 3).
| ||||||||
fromDate |
Only include websites that were discovered after a date (UNIX
timestamp, e.g. 1620687647).
| ||||||||
requiredSets |
Array of required field sets, e.g. email. See
Fields.
| ||||||||
subdomains |
Include or exclude subdomain in the results. One of
include (default), exclude or
merge. By selecting merge, data for subdomains (such as
languages and traffic) on a domain will be combined into a
single result.
| ||||||||
excludeNoTraffic |
Exclude websites that don't include traffic data (true
or false (default)).
| ||||||||
excludeMultilingual |
Exclude websites with content in more than one language (true
or false (default)).
| ||||||||
excludeListId |
ID of a list to use for exclusions, e.g.
lst_abcdef. Any URLs that appear in this list will
be excluded from the new list. This function is recursive, i.e. if an excluded list excludes another list, both are excluded. Limited to ten lists or 500,000 websites. | ||||||||
baseListId |
ID of a list to use as a base, e.g. lst_abcdef. The
results will be filtered to only include websites that are also
in the base list.
| ||||||||
sets |
Array of
field sets to include
in the results, e.g. email. See
Fields.
| ||||||||
callbackUrl |
Callback URL that's notified when the list is ready, e.g.
https://yourdomain.com/wappalyzer.
| ||||||||
format |
Output file format, one of csv (default) or
json.
|
The initial response only includes the list ID and current status.
Detailed fields such as totalCredits,
sampleUrl, rows and setRows
become available through the callback payload below or when fetching the
list later.
| Name | Description |
|---|---|
id | The list's unique identifier. |
status |
List status. One of Calculating,
Ready, Failed,
Insufficient or Complete.
|
Use a callback URL to continue your workflow as soon as a list is ready. List generation can take anywhere from a few seconds to a couple of hours depending on the query, so callbacks are the easiest way to avoid polling.
Request
curl -X POST -H "Content-Type: application/json" -H "x-api-key: <your api key>" "https://api.wappalyzer.com/v2/lists/" -d '{ "technologies": [ { "slug": "shopify" } ] }'
Response
{ "id": "lst_abcdef", "status": "Calculating" }
Callback response
Your callback URL receives a POST request when the list is
ready to price and finalize.
{ "id": "lst_abcdef", "status": "Ready", "rows": { "shopify": 1000 }, "setRows": { "email": 1000 }, "totalCredits": 1000, "sampleUrl": "https://lists.wappalyzer.com/wappalyzer-29ddddaa-4949-4217-86a7-f6a407e5853d-lst_abcdef-5ukjhs-sample.zip" }
When a list is ready, finalize it to spend credits and unlock the full
download URL. After payment, the list status changes to
Complete.
POST https://api.wappalyzer.com/v2/lists/{id}
| Property | Description |
|---|---|
| Execution | Synchronous |
| Request timeout | 20 seconds |
| Rate limit | 10 requests per second |
| Pricing | 1 Credit per website |
| Parameter | Description |
|---|---|
id |
The list's unique identifier, e.g. lst_abcdef.
|
| Name | Description |
|---|---|
spendCredits |
The number of credits to spend. This value must exactly match
the list's
totalCredits, obtained from either the
callback response or
fetch endpoint.
|
Request
curl -X POST -H "Content-Type: application/json" -H "x-api-key: <your api key>" "https://api.wappalyzer.com/v2/lists/lst_abcdef" -d '{ "spendCredits": 1000 }'
Response
{ "id": "lst_abcdef", "status": "Complete", "url": "https://lists.wappalyzer.com/wappalyzer-29ddddaa-4949-4217-86a7-f6a407e5853d-lst_abcdef-5ukjhs.zip", }
Permanently delete a list you no longer need.
DELETE https://api.wappalyzer.com/v2/lists/{id}
| Property | Description |
|---|---|
| Execution | Synchronous |
| Request timeout | 20 seconds |
| Rate limit | 10 requests per second |
| Pricing | Free |
| Parameter | Description |
|---|---|
id |
The list's unique identifier, e.g. lst_abcdef.
|
Request
curl -X DELETE -H "x-api-key: <your api key>" "https://api.wappalyzer.com/v2/lists/lst_abcdef"
Response
{}