Websites by Theme API
Need more API requests?
Pro includes 500 API requests per month. Choose Advanced for higher-volume API workflows.
Endpoint
POSThttps://api.stackcrawler.com/v1/websites-by-themeAuthentication
Send your API key as a Bearer token in the Authorization header.
Authorization: Bearer YOUR_API_KEYRequests count toward the API allowance for your current plan.
Request body
| Name | Required | Description |
|---|---|---|
theme | Yes | Theme slug, such as dawn. Browse the theme directory to find available slugs. |
languages | No | Comma-separated language codes, such as en,de. |
tlds | No | Comma-separated top-level domains, such as com,org,net. |
keywords | No | Comma-separated keywords matched against the URL, title, and meta description. |
minPerformanceScore | No | Minimum Lighthouse performance score from 0 to 100. |
maxPerformanceScore | No | Maximum Lighthouse performance score from 0 to 100. |
minAccessibilityScore | No | Minimum Lighthouse accessibility score from 0 to 100. |
maxAccessibilityScore | No | Maximum Lighthouse accessibility score from 0 to 100. |
minBestPracticesScore | No | Minimum Lighthouse best-practices score from 0 to 100. |
maxBestPracticesScore | No | Maximum Lighthouse best-practices score from 0 to 100. |
minSeoScore | No | Minimum Lighthouse SEO score from 0 to 100. |
maxSeoScore | No | Maximum Lighthouse SEO score from 0 to 100. |
Query parameters
| Name | Required | Description |
|---|---|---|
page | No | Page number. Defaults to 1. |
limit | No | Results per page. Defaults to 10 and is capped at 100. |
Response
The response contains the matched theme, a websites array, the total number of matching websites in totalWebsites, and the available page count in maxPages. Website records include theme version, public website details, Lighthouse scores, contact and social fields when available, and detected technologies.
Example request
curl --location 'https://api.stackcrawler.com/v1/websites-by-theme?page=1&limit=10' \
--header 'Content-Type: application/json' \
--header 'Authorization: Bearer [YOUR_API_KEY_HERE]' \
--data '{
"theme": "dawn",
"languages": "en",
"tlds": "com,org"
}'Example response
{
"theme": {
"name": "Dawn",
"slug": "dawn",
"platform": "Shopify"
},
"websites": [
{
"url": "https://example.com",
"language": "en",
"title": "Example Store",
"metaDescription": "An example Shopify store.",
"themeVersion": "15.2.0",
"pagespeedPerformanceScore": 92,
"pagespeedAccessibilityScore": 96,
"pagespeedBestPracticesScore": 100,
"pagespeedSEOScore": 100,
"technologies": [
{ "name": "Shopify", "slug": "shopify", "url": "https://shopify.com" }
]
}
],
"totalWebsites": 1,
"maxPages": 1
}Error responses
| Status | Meaning |
|---|---|
| 400 | The request or a filter value is invalid. |
| 401 | The API key is missing or invalid. |
| 404 | The requested theme does not exist. |
| 429 | The rate or plan request limit was reached. |
| 500 | An internal error occurred. |