Technology Migrations API

Retrieve public technologies newly detected between each website's latest two successful crawls.
Need more API requests?
Pro includes 500 API requests per month. Choose Advanced for higher-volume API workflows.

Endpoint

GEThttps://api.stackcrawler.com/v1/technology-migrations

A migration is returned when a public technology exists in a website's latest snapshot but not in its immediately preceding snapshot. First-time crawls are excluded because they have no previous snapshot to compare.

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.

Query parameters

NameRequiredDescription
technologyNoPublic technology slug, such as shopify. Omit it to return all migrations.
cursorNoOpaque cursor from nextCursor. Used with a technology filter.
pageNoPositive page number for the unfiltered general feed. Defaults to 1.
limitNoResults per page. Defaults to 20 and is capped at 100.

Response

The response contains a websites array and pagination metadata. Filtered responses also include the selected tool and cursor pagination. General-feed entries use numbered pagination and include a tool object on each website migration.

Example request

curl --location 'https://api.stackcrawler.com/v1/technology-migrations?technology=shopify&limit=20' \
--header 'Authorization: Bearer [YOUR_API_KEY_HERE]'

Example response

{
  "tool": {
    "name": "Shopify",
    "slug": "shopify"
  },
  "websites": [
    {
      "id": 123,
      "url": "https://example.com",
      "title": "Example Store",
      "favicon": "https://example.com/favicon.ico",
      "language": "en",
      "websiteCategory": "Ecommerce",
      "version": null,
      "addedAt": "2026-08-03T10:00:00.000Z"
    }
  ],
  "pagination": {
    "limit": 20,
    "hasPreviousPage": false,
    "hasNextPage": false,
    "previousCursor": null,
    "nextCursor": null
  }
}

Error responses

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