Websites by Theme API

Retrieve a filtered, paginated list of websites using a specific website theme.
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-theme

Authentication

Send your API key as a Bearer token in the Authorization header.

Authorization: Bearer YOUR_API_KEY

Requests count toward the API allowance for your current plan.

Request body

NameRequiredDescription
themeYesTheme slug, such as dawn. Browse the theme directory to find available slugs.
languagesNoComma-separated language codes, such as en,de.
tldsNoComma-separated top-level domains, such as com,org,net.
keywordsNoComma-separated keywords matched against the URL, title, and meta description.
minPerformanceScoreNoMinimum Lighthouse performance score from 0 to 100.
maxPerformanceScoreNoMaximum Lighthouse performance score from 0 to 100.
minAccessibilityScoreNoMinimum Lighthouse accessibility score from 0 to 100.
maxAccessibilityScoreNoMaximum Lighthouse accessibility score from 0 to 100.
minBestPracticesScoreNoMinimum Lighthouse best-practices score from 0 to 100.
maxBestPracticesScoreNoMaximum Lighthouse best-practices score from 0 to 100.
minSeoScoreNoMinimum Lighthouse SEO score from 0 to 100.
maxSeoScoreNoMaximum Lighthouse SEO score from 0 to 100.

Query parameters

NameRequiredDescription
pageNoPage number. Defaults to 1.
limitNoResults 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

StatusMeaning
400The request or a filter value is invalid.
401The API key is missing or invalid.
404The requested theme does not exist.
429The rate or plan request limit was reached.
500An internal error occurred.