Scraper API

Shopify Scraper API

for products, variants, and prices from any store

Pull the full product catalog from any Shopify store as clean JSON. One request returns each product with its variants, prices, compare-at prices, images, and tags, straight from the store's own feed, with proxies handled for you.

SUCCESS
99.9%

of requests succeed

P50
0.7s

median response

P95
0.8s

95% finish faster

PRICE
$0.37

per 1k product feeds at volume

Stop maintaining scrapers

Every Shopify store rate-limits differently. Your code shouldn't care.

  • Rate limits on the product feed
  • Pagination that stops without warning
  • Variants and prices nested per product
  • Proxies rotated per store
  • Retry logic for throttled requests
One integration commit replaces a backlog you’ll never finish.
scraper | git log
hotfix: 429 throttle, half the catalog missing
fix: pagination stopped at page 5 silently
fix: price came back as a string, not number
chore: rotate proxies for shopify runs again
fix: variant availability flipped on restock
hotfix: store rate-limited the datacenter range
fix: compare_at_price missing on sale items
chore: re-run failed batch overnight
fix: image order changed between runs
fix: retry storm on rate limits
hotfix: 429 throttle, half the catalog missing
fix: pagination stopped at page 5 silently
fix: price came back as a string, not number
chore: rotate proxies for shopify runs again
fix: variant availability flipped on restock
hotfix: store rate-limited the datacenter range
fix: compare_at_price missing on sale items
chore: re-run failed batch overnight
fix: image order changed between runs
fix: retry storm on rate limits
hotfix: 429 throttle, half the catalog missing
fix: pagination stopped at page 5 silently
fix: price came back as a string, not number
chore: rotate proxies for shopify runs again
fix: variant availability flipped on restock
hotfix: store rate-limited the datacenter range
fix: compare_at_price missing on sale items
chore: re-run failed batch overnight
fix: image order changed between runs
fix: retry storm on rate limits
hotfix: 429 throttle, half the catalog missing
fix: pagination stopped at page 5 silently
fix: price came back as a string, not number
chore: rotate proxies for shopify runs again
fix: variant availability flipped on restock
hotfix: store rate-limited the datacenter range
fix: compare_at_price missing on sale items
chore: re-run failed batch overnight
fix: image order changed between runs
fix: retry storm on rate limits
feat: integrate HasData API
Code Examples

One GET Request. That's the whole integration.

Start with just a query. Add more parameters when your use case needs them.

request example
curl -G 'https://api.hasdata.com/scrape/shopify/products' \
	--data-urlencode 'url=https://b2bdemoexperience.myshopify.com' \
	--data-urlencode 'limit=1' \
	--header 'x-api-key: <YOUR_API_KEY>' \
	--header 'Content-Type: application/json'
url * Store URL
The URL of the Shopify store. For example, 'https://b2bdemoexperience.myshopify.com'.
limit Results Limit
The maximum number of products to retrieve. Must be between 1 and 250.
page Page
The page number of the results to retrieve. Must be a positive integer.
collection Collection
The handle of the collection to filter the products. Provide the collection handle as a string.
TRY ALL 4 PARAMETERS FREE
No-Code Alternative

Get Shopify data without code

Prefer no code? Pull the same product data from a visual scraper. No API, no setup, just a store URL and a collection.

Shopify Scraper
Shopify Scraper
Store URL
allbirds.com
Collection
All products
Run scrape
Response

The store's own product schema

Products come back with variants, prices, and images in Shopify's native shape. Map the fields once and forget about it.

products.json
[
  {
    "id": 7204716838992,
    "title": "Allbirds Slipper - Dark Grey",
    "handle": "allbirds-slipper-dark-grey-tweed",
    "vendor": "Allbirds",
    "product_type": "Shoes",
    "tags": ["slippers", "wool"],
    "variants": [
      {
        "id": 41268080345168,
        "title": "W4.5/M3",
        "sku": "A11582U030",
        "price": "37.00",
        "compare_at_price": "75.00",
        "available": false
      }
    ],
    "images": [
      { "src": "https://cdn.shopify.com/s/files/1/1104/4168/files/A11582.jpg", "width": 4000, "height": 4000 }
    ]
  }
]
Fields in products
id / handle number / string

Shopify product ID and its URL slug

title / vendor / product_type string

Product name, brand, and category

tags string[]

Store-defined tags on the product

variants[] object[]

Each purchasable variant

variants[].price / compare_at_price string

Current price and the struck-through original

variants[].sku / available string / boolean

Stock-keeping unit and in-stock flag

images[] object[]

src, width, and height for each image

What We Offer

An all-in-one scraping service

Every feature you need to collect data from thousands to millions of requests.

Loved by developers

Teams that deleted their scraper

Now it's the part of the pipeline they don't think about

4.8 ★★★★★
across 100+ reviews on 5 platforms
Trustpilot Trustpilot ★★★★★

HasData delivers exactly what we need: speed and comprehensive search features. It's the fastest API we've used in this space. Plus, their customer support is fantastic.

Denver Sinclair
Denver Sinclair
Capterra Capterra ★★★★★

We rely on HasData for search performance data and broader scraping needs. Their APIs deliver highly structured data that integrates directly into our platforms.

JN
Jacob N.
Trustpilot Trustpilot ★★★★★

Great web scraping API which is incredibly easy to use. It requires minimal effort to get up and running, and the documentation is very clear and helpful.

Arnold Foster
Arnold Foster
Trustpilot Trustpilot ★★★★★

I needed to scrape some information they didn't already support, and they wrote the code for me right away, which was super nice of them.

Hussein Ali
Hussein Ali
Clutch Clutch ★★★★★

We were particularly impressed with how easily we could integrate HasData into our existing workflow.

TB
Taras Bazyshyn
CEO at BAZTDL Sp. z o.o
Pricing

Plans that get cheaper at scale

Fixed price, fixed volume, no surprises at the end of the month. Upgrade when you need more.

Free
$0 /mo
One-time free trial
200 product feeds to start
1 concurrent request
Team seats
Community support
Start free
Startup
$41 /mo
$1.02 / 1k product feeds
40K product feeds / month
15 concurrent requests
Team seats
Email support
Get started
Business
Recommended
$83 /mo
$0.41 / 1k product feeds
200K product feeds / month
30 concurrent requests
Team seats
Priority email support
Get started
Growth
$208 /mo
$0.35 / 1k product feeds
50 concurrent requests
Team seats
Dedicated account manager
Get started
Monthly product feed volume
Free 200K 1M 4M 12M 20M
Best fit
Business
product feeds / mo
200K
Concurrency
30
$ / 1k product feeds
$0.41
$83 /mo
Get Started
Enterprise
Custom price based on required volume

Past 100M scrapes a month, or terms the self-serve plans do not cover. We shape the contract around your workload.

Credits rollover
Unused credits carry into the next billing period.
Concurrency 2000+
Parallel request limits set to your peak load.
#1 request priority
Highest speed, always first in the queue.
Personal manager
A direct line to the founding team.
SSO
SAML single sign-on for the whole team.
SOC-2 compliance
Security review, DPA, and audit reports.
Talk to sales Quote within one business day
FAQ

Questions, answered

1 Grab your API key 2 Send a GET request 3 Get structured JSON

Your first product feed
is minutes away

200 product feeds free · no credit card