Shopify Collection Products — Variants, Prices & Availability
Send a store domain and a collection handle (or URL) and this source returns the products in that collection as data, with options, variants, prices and availability for each.
{
"session_id": "11111111-1111-1111-1111-111111111111",
"kind": "shopify_collection_products",
"store_domain": "allbirds.com",
"collection": "mens",
"max_items": 2,
"start_page": 1,
"partial": false,
"human": "# Shopify collection products\n\n- **Store:** allbirds.com\n- **Collection:** mens\n- **Starting page:** 1\n- **Max items:** 2\n- **Records returned:** 2\n- **Proxy traffic:** 43.8 KB",
"machine": {
"store_domain": "allbirds.com",
"total_items": 2,
"first_item": {
"id": 7205191974992,
"alias": "mens-dasher-nz-anthracite",
"title": "Men's Dasher NZ - Anthracite (Dark Anthracite Sole)",
"url": "https://allbirds.com/products/mens-dasher-nz-anthracite",
"description": "A new take on our fan-favorite Dasher, made for busy days and spontaneous plans. Lightweight, breathable comfort keeps you cool as you move, with added heel protection where it counts. Fast when you w",
"description_html": "<p>A new take on our fan-favorite Dasher, made for busy days and spontaneous plans. Lightweight, breathable comfort keeps you cool as you move, with added heel protection where it counts. Fast when yo",
"brand": "Allbirds",
"product_type": "Shoes",
"tags": [
"allbirds::carbon-score => undefined",
"allbirds::cfId => color-ec0dcc8441508c674c885b8c8a990cfa"
],
"image": "https://cdn.shopify.com/s/files/1/1104/4168/files/A12416_26Q1_Dasher-NZ-Anthracite-Dark-Anthr_PDP_LEFT.png?v=1768948005",
"images": [
"https://cdn.shopify.com/s/files/1/1104/4168/files/A12416_26Q1_Dasher-NZ-Anthracite-Dark-Anthr_PDP_LEFT.png?v=1768948005",
"https://cdn.shopify.com/s/files/1/1104/4168/files/A12416_26Q1_Dasher-NZ-Anthracite-Dark-Anthr_PDP_BACK.png?v=1768948005"
],
"options": [
{
"name": "Size",
"position": 1,
"values": [
"8",
"8.5"
]
}
],
"variants": [
{
"id": 41271176757328,
"title": "8",
"sku": "A12417M080",
"barcode": null,
"price": 140,
"list_price": null,
"currency": "USD",
"available": false,
"inventory_quantity": null,
"inventory_policy": null,
"inventory_management": null,
"fulfillment_service": null,
"requires_shipping": true,
"taxable": true,
"option1": "8",
"option2": null,
"option3": null,
"grams": 914,
"weight": null,
"weight_unit": null,
"position": 1,
"image": null,
"created_at": "2025-08-06T18:54:33-07:00",
"updated_at": "2026-09-30T08:16:00-07:00"
},
{
"id": 41271176790096,
"title": "8.5",
"sku": "A12417M085",
"barcode": null,
"price": 140,
"list_price": null,
"currency": "USD",
"available": false,
"inventory_quantity": null,
"inventory_policy": null,
"inventory_management": null,
"fulfillment_service": null,
"requires_shipping": true,
"taxable": true,
"option1": "8.5",
"option2": null,
"option3": null,
"grams": 927,
"weight": null,
"weight_unit": null,
"position": 2,
"image": null,
"created_at": "2025-08-06T18:54:33-07:00",
"updated_at": "2026-09-30T08:16:00-07:00"
}
],
"currency": "USD",
"price_min": 140,
"price_max": 140,
"available": true,
"published_at": "2026-08-24T09:53:01-07:00",
"created_at": "2025-08-06T18:54:33-07:00",
"updated_at": "2026-09-30T08:16:00-07:00",
"source": "json"
},
"items": [
{
"id": 7205191974992,
"alias": "mens-dasher-nz-anthracite",
"title": "Men's Dasher NZ - Anthracite (Dark Anthracite Sole)",
"url": "https://allbirds.com/products/mens-dasher-nz-anthracite",
"description": "A new take on our fan-favorite Dasher, made for busy days and spontaneous plans. Lightweight, breathable comfort keeps you cool as you move, with added heel protection where it counts. Fast when you w",
"description_html": "<p>A new take on our fan-favorite Dasher, made for busy days and spontaneous plans. Lightweight, breathable comfort keeps you cool as you move, with added heel protection where it counts. Fast when yo",
"brand": "Allbirds",
"product_type": "Shoes",
"tags": [
"allbirds::carbon-score => undefined",
"allbirds::cfId => color-ec0dcc8441508c674c885b8c8a990cfa"
],
"image": "https://cdn.shopify.com/s/files/1/1104/4168/files/A12416_26Q1_Dasher-NZ-Anthracite-Dark-Anthr_PDP_LEFT.png?v=1768948005",
"images": [
"https://cdn.shopify.com/s/files/1/1104/4168/files/A12416_26Q1_Dasher-NZ-Anthracite-Dark-Anthr_PDP_LEFT.png?v=1768948005",
"https://cdn.shopify.com/s/files/1/1104/4168/files/A12416_26Q1_Dasher-NZ-Anthracite-Dark-Anthr_PDP_BACK.png?v=1768948005"
],
"options": [
{
"name": "Size",
"position": 1,
"values": [
"8",
"8.5"
]
}
],
"variants": [
{
"id": 41271176757328,
"title": "8",
"sku": "A12417M080",
"barcode": null,
"price": 140,
"list_price": null,
"currency": "USD",
"available": false,
"inventory_quantity": null,
"inventory_policy": null,
"inventory_management": null,
"fulfillment_service": null,
"requires_shipping": true,
"taxable": true,
"option1": "8",
"option2": null,
"option3": null,
"grams": 914,
"weight": null,
"weight_unit": null,
"position": 1,
"image": null,
"created_at": "2025-08-06T18:54:33-07:00",
"updated_at": "2026-09-30T08:16:00-07:00"
},
{
"id": 41271176790096,
"title": "8.5",
"sku": "A12417M085",
"barcode": null,
"price": 140,
"list_price": null,
"currency": "USD",
"available": false,
"inventory_quantity": null,
"inventory_policy": null,
"inventory_management": null,
"fulfillment_service": null,
"requires_shipping": true,
"taxable": true,
"option1": "8.5",
"option2": null,
"option3": null,
"grams": 927,
"weight": null,
"weight_unit": null,
"position": 2,
"image": null,
"created_at": "2025-08-06T18:54:33-07:00",
"updated_at": "2026-09-30T08:16:00-07:00"
}
],
"currency": "USD",
"price_min": 140,
"price_max": 140,
"available": true,
"published_at": "2026-08-24T09:53:01-07:00",
"created_at": "2025-08-06T18:54:33-07:00",
"updated_at": "2026-09-30T08:16:00-07:00",
"source": "json"
},
{
"id": 7205195907152,
"alias": "mens-dasher-nz-light-burnt-olive",
"title": "Men's Dasher NZ - Light Burnt Olive (Natural White Sole)",
"url": "https://allbirds.com/products/mens-dasher-nz-light-burnt-olive",
"description": "A new take on our fan-favorite Dasher, made for busy days and spontaneous plans. Lightweight, breathable comfort keeps you cool as you move, with added heel protection where it counts. Fast when you w",
"description_html": "<p>A new take on our fan-favorite Dasher, made for busy days and spontaneous plans. Lightweight, breathable comfort keeps you cool as you move, with added heel protection where it counts. Fast when yo",
"brand": "Allbirds",
"product_type": "Shoes",
"tags": [
"allbirds::carbon-score => undefined",
"allbirds::cfId => color-8b1cde6894e604759c6bbc2e7f9fe77a"
],
"image": "https://cdn.shopify.com/s/files/1/1104/4168/files/A12519_26Q1_Dasher-NZ-Light-Burnt-Olive-Natural-White-Sole_PDP_LEFT.png?v=1768948277",
"images": [
"https://cdn.shopify.com/s/files/1/1104/4168/files/A12519_26Q1_Dasher-NZ-Light-Burnt-Olive-Natural-White-Sole_PDP_LEFT.png?v=1768948277",
"https://cdn.shopify.com/s/files/1/1104/4168/files/A12519_26Q1_Dasher-NZ-Light-Burnt-Olive-Natural-White-Sole_PDP_BACK.png?v=1768948277"
],
"options": [
{
"name": "Size",
"position": 1,
"values": [
"8",
"8.5"
]
}
],
"variants": [
{
"id": 41271198777424,
"title": "8",
"sku": "A12520M080",
"barcode": null,
"price": 140,
"list_price": null,
"currency": "USD",
"available": false,
"inventory_quantity": null,
"inventory_policy": null,
"inventory_management": null,
"fulfillment_service": null,
"requires_shipping": true,
"taxable": true,
"option1": "8",
"option2": null,
"option3": null,
"grams": 914,
"weight": null,
"weight_unit": null,
"position": 1,
"image": null,
"created_at": "2025-08-06T19:45:32-07:00",
"updated_at": "2026-09-30T08:16:00-07:00"
},
{
"id": 41271198810192,
"title": "8.5",
"sku": "A12520M085",
"barcode": null,
"price": 140,
"list_price": null,
"currency": "USD",
"available": false,
"inventory_quantity": null,
"inventory_policy": null,
"inventory_management": null,
"fulfillment_service": null,
"requires_shipping": true,
"taxable": true,
"option1": "8.5",
"option2": null,
"option3": null,
"grams": 927,
"weight": null,
"weight_unit": null,
"position": 2,
"image": null,
"created_at": "2025-08-06T19:45:32-07:00",
"updated_at": "2026-09-30T08:16:00-07:00"
}
],
"currency": "USD",
"price_min": 140,
"price_max": 140,
"available": true,
"published_at": "2026-09-25T16:57:57-07:00",
"created_at": "2025-08-06T19:45:32-07:00",
"updated_at": "2026-09-30T08:16:00-07:00",
"source": "json"
}
],
"source": "json",
"proxy_traffic_bytes": 44820
},
"total_points": 2
}- You send
- A Shopify store domain and a collection handle or URL
- You get back
- The collection's products with options, variants, prices and availability
- Coverage
- Products in a collection on a Shopify-powered storefront.
- Price
- 1 point per returned product, up to 500 per request — $1 per 1,000
- Billed per record actually returned, capped by max_items. A collection that returns nothing costs nothing.
Ways to get this data
Three approaches teams use today, and where each one runs into trouble.
| Approach | What it takes | Cost | Trade-off |
|---|---|---|---|
| Browsing the collection by hand | Page through the collection and copy details | Free, and slow | Variants and availability hide behind each product page |
| Building a scraper | Write it, host it, and adapt it to each store | Engineering time | A maintenance commitment for something that isn't your product |
| NeuralVerge | One request per collection, max_items and start_page as parameters | $1 per 1,000, misses not billed | A large collection returns a large result set; set max_items to what you need |
What you get back
Every field in the response shown above.
| Field | Type | Description |
|---|---|---|
store_domain | string | The store the collection was read from. |
total_items | number | How many products were returned in this batch (capped by max_items). |
first_item | object | The first product, repeated outside the list for quick checks. |
items[].id | number | Shopify product ID. |
items[].alias | string | Product handle. |
items[].title | string | Product title. |
items[].url | string | Link to the product page. |
items[].description | string | Plain-text description. |
items[].description_html | string | Description as HTML. |
items[].brand | string | Brand or vendor. |
items[].product_type | string | Product type as set by the store. |
items[].tags | array | Tags attached to the product. |
items[].image | string | Primary image URL. |
items[].images | array | All image URLs. |
items[].options | array | Options a buyer picks (e.g. Size), each with name, position and values. |
items[].variants | array | One row per variant: id, sku, barcode, price, list_price, currency, available, inventory fields, weight and timestamps. |
items[].currency | string | Currency of the prices. |
items[].price_min | number | Lowest variant price. |
items[].price_max | number | Highest variant price. |
items[].available | boolean | Whether any variant is available. |
items[].published_at | string | When the product was published. |
items[].updated_at | string | When the product was last updated. |
source | string | How the collection was read. |
How to run it
The same lookup works from the app, the API, or as a tool an agent can call mid-task.
store_domain and collection are required. max_items caps the product count (up to 500, defaults to 25) and sets what you're billed for; start_page lets you continue from a later page.
curl -X POST https://api.neuralverge.ai/functions/v1/run-shopify-collections-products \
-H "Authorization: Bearer YOUR_API_KEY" \
-H "Content-Type: application/json" \
-d '{ "store_domain": "allbirds.com", "collection": "mens", "max_items": 25 }'What teams use it for
Where this field shows up in an actual workflow.
Track prices in one slice of a competitor's range, such as a sale collection.
Compare what two stores put in comparable collections.
Re-run on a schedule to see which products sell out of a collection.
Take only the slice you need instead of paying for the whole store.
Coverage, freshness and limits
What this source covers, how fresh it is, and where it stops.
Products in a collection on a Shopify-powered storefront.
Read at request time.
This source returns publicly visible catalog information, stamped with the store and collection it was read from and a session id you can trace.
- —Collection contents change as the store edits them, so the same handle can return different products later.
- —Inventory quantities are null where the store doesn't expose them.
- —Prices and availability reflect the moment of the request and can change right after.
Questions, answered
It's the last part of the collection URL, for example mens in /collections/mens. You can also pass the full URL.
Related sources
Try shopify collection products on your own data
One request format across every source in the catalog.