![Shopify Products Scraper - Automate Product Extraction avatar](https://images.apifyusercontent.com/xOP-hv00FQgYWl3U1iXphqyTCzWtyaFJ1esP7VftqRU/rs:fill:250:250/cb:1/aHR0cHM6Ly9hcGlmeS1pbWFnZS11cGxvYWRzLXByb2QuczMudXMtZWFzdC0xLmFtYXpvbmF3cy5jb20vUlR0T3JDTHV3YmRrdWphSUQvVk5kQURjZlN2ZGFMZHdrZGktc2hvcGlmeS5wbmc.webp)
Shopify Products Scraper - Automate Product Extraction
1 day trial then $9.99/month - No credit card required now
![Shopify Products Scraper - Automate Product Extraction](https://images.apifyusercontent.com/xOP-hv00FQgYWl3U1iXphqyTCzWtyaFJ1esP7VftqRU/rs:fill:250:250/cb:1/aHR0cHM6Ly9hcGlmeS1pbWFnZS11cGxvYWRzLXByb2QuczMudXMtZWFzdC0xLmFtYXpvbmF3cy5jb20vUlR0T3JDTHV3YmRrdWphSUQvVk5kQURjZlN2ZGFMZHdrZGktc2hvcGlmeS5wbmc.webp)
Shopify Products Scraper - Automate Product Extraction
1 day trial then $9.99/month - No credit card required now
Automate monitoring prices on the most popular solution for building online stores and selling products online. Crawl arbitrary Shopify-powered online stores and extract a list of all products in a structured form, including product title, price, description, etc.
You can access the Shopify Products Scraper - Automate Product Extraction programmatically from your own applications by using the Apify API. You can choose the language preference from below. To use the Apify API, you’ll need an Apify account and your API token, found in Integrations settings in Apify Console.
1{
2 "openapi": "3.0.1",
3 "info": {
4 "version": "0.0",
5 "x-build-id": "E1vwra8MmsCzqs9vg"
6 },
7 "servers": [
8 {
9 "url": "https://api.apify.com/v2"
10 }
11 ],
12 "paths": {
13 "/acts/dainty_screw~shopify-products-scraper/run-sync-get-dataset-items": {
14 "post": {
15 "operationId": "run-sync-get-dataset-items-dainty_screw-shopify-products-scraper",
16 "x-openai-isConsequential": false,
17 "summary": "Executes an Actor, waits for its completion, and returns Actor's dataset items in response.",
18 "tags": [
19 "Run Actor"
20 ],
21 "requestBody": {
22 "required": true,
23 "content": {
24 "application/json": {
25 "schema": {
26 "$ref": "#/components/schemas/inputSchema"
27 }
28 }
29 }
30 },
31 "parameters": [
32 {
33 "name": "token",
34 "in": "query",
35 "required": true,
36 "schema": {
37 "type": "string"
38 },
39 "description": "Enter your Apify token here"
40 }
41 ],
42 "responses": {
43 "200": {
44 "description": "OK"
45 }
46 }
47 }
48 },
49 "/acts/dainty_screw~shopify-products-scraper/runs": {
50 "post": {
51 "operationId": "runs-sync-dainty_screw-shopify-products-scraper",
52 "x-openai-isConsequential": false,
53 "summary": "Executes an Actor and returns information about the initiated run in response.",
54 "tags": [
55 "Run Actor"
56 ],
57 "requestBody": {
58 "required": true,
59 "content": {
60 "application/json": {
61 "schema": {
62 "$ref": "#/components/schemas/inputSchema"
63 }
64 }
65 }
66 },
67 "parameters": [
68 {
69 "name": "token",
70 "in": "query",
71 "required": true,
72 "schema": {
73 "type": "string"
74 },
75 "description": "Enter your Apify token here"
76 }
77 ],
78 "responses": {
79 "200": {
80 "description": "OK",
81 "content": {
82 "application/json": {
83 "schema": {
84 "$ref": "#/components/schemas/runsResponseSchema"
85 }
86 }
87 }
88 }
89 }
90 }
91 },
92 "/acts/dainty_screw~shopify-products-scraper/run-sync": {
93 "post": {
94 "operationId": "run-sync-dainty_screw-shopify-products-scraper",
95 "x-openai-isConsequential": false,
96 "summary": "Executes an Actor, waits for completion, and returns the OUTPUT from Key-value store in response.",
97 "tags": [
98 "Run Actor"
99 ],
100 "requestBody": {
101 "required": true,
102 "content": {
103 "application/json": {
104 "schema": {
105 "$ref": "#/components/schemas/inputSchema"
106 }
107 }
108 }
109 },
110 "parameters": [
111 {
112 "name": "token",
113 "in": "query",
114 "required": true,
115 "schema": {
116 "type": "string"
117 },
118 "description": "Enter your Apify token here"
119 }
120 ],
121 "responses": {
122 "200": {
123 "description": "OK"
124 }
125 }
126 }
127 }
128 },
129 "components": {
130 "schemas": {
131 "inputSchema": {
132 "type": "object",
133 "properties": {
134 "startUrls": {
135 "title": "Start URLs",
136 "type": "array",
137 "description": "Provide Shopify shop URLs as the starting point",
138 "default": [],
139 "items": {
140 "type": "object",
141 "required": [
142 "url"
143 ],
144 "properties": {
145 "url": {
146 "type": "string",
147 "title": "URL of a web page",
148 "format": "uri"
149 }
150 }
151 }
152 },
153 "maxRequestsPerCrawl": {
154 "title": "Max items",
155 "type": "integer",
156 "description": "Maximum number of items to scrape. Set it to 0 to scrape everything.",
157 "default": 10
158 },
159 "proxyConfig": {
160 "title": "Proxy Configuration",
161 "type": "object",
162 "description": "Use either automatic Apify proxies, Residentials or your own.",
163 "default": {
164 "useApifyProxy": true
165 }
166 },
167 "checkForBanner": {
168 "title": "Check for Shopify on robots",
169 "type": "boolean",
170 "description": "Ensure that the remote robots.txt file contains the Shopify keyword.",
171 "default": true
172 },
173 "extendOutputFunction": {
174 "title": "Extend Output Function",
175 "type": "string",
176 "description": "Add or remove properties on the output object or omit the output returning null",
177 "default": "async ({ data, item, product, images, fns, name, request, variants, context, customData, input, Apify }) => {\n return item;\n}"
178 },
179 "extendScraperFunction": {
180 "title": "Extend Scraper Function",
181 "type": "string",
182 "description": "Advanced function that allows you to extend the default scraper functionality, allowing you to manually perform actions on the page",
183 "default": "async ({ fns, customData, Apify, label }) => {\n \n}"
184 },
185 "customData": {
186 "title": "Custom data",
187 "type": "object",
188 "description": "Any data that you want to have available inside the Extend Output/Scraper Function",
189 "default": {}
190 },
191 "fetchHtml": {
192 "title": "Fetch HTML",
193 "type": "boolean",
194 "description": "If you decide to fetch the HTML of the pages, it will take twice as long. Make sure to only enable this if needed",
195 "default": false
196 },
197 "maxConcurrency": {
198 "title": "Max concurrency",
199 "type": "integer",
200 "description": "Max concurrency to use",
201 "default": 10
202 },
203 "maxRequestRetries": {
204 "title": "Max request retries",
205 "type": "integer",
206 "description": "Set the max request retries",
207 "default": 3
208 },
209 "debugLog": {
210 "title": "Debug Log",
211 "type": "boolean",
212 "description": "Enable a more verbose logging to be able to understand what's happening during the scraping",
213 "default": false
214 }
215 }
216 },
217 "runsResponseSchema": {
218 "type": "object",
219 "properties": {
220 "data": {
221 "type": "object",
222 "properties": {
223 "id": {
224 "type": "string"
225 },
226 "actId": {
227 "type": "string"
228 },
229 "userId": {
230 "type": "string"
231 },
232 "startedAt": {
233 "type": "string",
234 "format": "date-time",
235 "example": "2025-01-08T00:00:00.000Z"
236 },
237 "finishedAt": {
238 "type": "string",
239 "format": "date-time",
240 "example": "2025-01-08T00:00:00.000Z"
241 },
242 "status": {
243 "type": "string",
244 "example": "READY"
245 },
246 "meta": {
247 "type": "object",
248 "properties": {
249 "origin": {
250 "type": "string",
251 "example": "API"
252 },
253 "userAgent": {
254 "type": "string"
255 }
256 }
257 },
258 "stats": {
259 "type": "object",
260 "properties": {
261 "inputBodyLen": {
262 "type": "integer",
263 "example": 2000
264 },
265 "rebootCount": {
266 "type": "integer",
267 "example": 0
268 },
269 "restartCount": {
270 "type": "integer",
271 "example": 0
272 },
273 "resurrectCount": {
274 "type": "integer",
275 "example": 0
276 },
277 "computeUnits": {
278 "type": "integer",
279 "example": 0
280 }
281 }
282 },
283 "options": {
284 "type": "object",
285 "properties": {
286 "build": {
287 "type": "string",
288 "example": "latest"
289 },
290 "timeoutSecs": {
291 "type": "integer",
292 "example": 300
293 },
294 "memoryMbytes": {
295 "type": "integer",
296 "example": 1024
297 },
298 "diskMbytes": {
299 "type": "integer",
300 "example": 2048
301 }
302 }
303 },
304 "buildId": {
305 "type": "string"
306 },
307 "defaultKeyValueStoreId": {
308 "type": "string"
309 },
310 "defaultDatasetId": {
311 "type": "string"
312 },
313 "defaultRequestQueueId": {
314 "type": "string"
315 },
316 "buildNumber": {
317 "type": "string",
318 "example": "1.0.0"
319 },
320 "containerUrl": {
321 "type": "string"
322 },
323 "usage": {
324 "type": "object",
325 "properties": {
326 "ACTOR_COMPUTE_UNITS": {
327 "type": "integer",
328 "example": 0
329 },
330 "DATASET_READS": {
331 "type": "integer",
332 "example": 0
333 },
334 "DATASET_WRITES": {
335 "type": "integer",
336 "example": 0
337 },
338 "KEY_VALUE_STORE_READS": {
339 "type": "integer",
340 "example": 0
341 },
342 "KEY_VALUE_STORE_WRITES": {
343 "type": "integer",
344 "example": 1
345 },
346 "KEY_VALUE_STORE_LISTS": {
347 "type": "integer",
348 "example": 0
349 },
350 "REQUEST_QUEUE_READS": {
351 "type": "integer",
352 "example": 0
353 },
354 "REQUEST_QUEUE_WRITES": {
355 "type": "integer",
356 "example": 0
357 },
358 "DATA_TRANSFER_INTERNAL_GBYTES": {
359 "type": "integer",
360 "example": 0
361 },
362 "DATA_TRANSFER_EXTERNAL_GBYTES": {
363 "type": "integer",
364 "example": 0
365 },
366 "PROXY_RESIDENTIAL_TRANSFER_GBYTES": {
367 "type": "integer",
368 "example": 0
369 },
370 "PROXY_SERPS": {
371 "type": "integer",
372 "example": 0
373 }
374 }
375 },
376 "usageTotalUsd": {
377 "type": "number",
378 "example": 0.00005
379 },
380 "usageUsd": {
381 "type": "object",
382 "properties": {
383 "ACTOR_COMPUTE_UNITS": {
384 "type": "integer",
385 "example": 0
386 },
387 "DATASET_READS": {
388 "type": "integer",
389 "example": 0
390 },
391 "DATASET_WRITES": {
392 "type": "integer",
393 "example": 0
394 },
395 "KEY_VALUE_STORE_READS": {
396 "type": "integer",
397 "example": 0
398 },
399 "KEY_VALUE_STORE_WRITES": {
400 "type": "number",
401 "example": 0.00005
402 },
403 "KEY_VALUE_STORE_LISTS": {
404 "type": "integer",
405 "example": 0
406 },
407 "REQUEST_QUEUE_READS": {
408 "type": "integer",
409 "example": 0
410 },
411 "REQUEST_QUEUE_WRITES": {
412 "type": "integer",
413 "example": 0
414 },
415 "DATA_TRANSFER_INTERNAL_GBYTES": {
416 "type": "integer",
417 "example": 0
418 },
419 "DATA_TRANSFER_EXTERNAL_GBYTES": {
420 "type": "integer",
421 "example": 0
422 },
423 "PROXY_RESIDENTIAL_TRANSFER_GBYTES": {
424 "type": "integer",
425 "example": 0
426 },
427 "PROXY_SERPS": {
428 "type": "integer",
429 "example": 0
430 }
431 }
432 }
433 }
434 }
435 }
436 }
437 }
438 }
439}
Shopify Products Scraper - Automate Product Extraction OpenAPI definition
OpenAPI is a standard for designing and describing RESTful APIs, allowing developers to define API structure, endpoints, and data formats in a machine-readable way. It simplifies API development, integration, and documentation.
OpenAPI is effective when used with AI agents and GPTs by standardizing how these systems interact with various APIs, for reliable integrations and efficient communication.
By defining machine-readable API specifications, OpenAPI allows AI models like GPTs to understand and use varied data sources, improving accuracy. This accelerates development, reduces errors, and provides context-aware responses, making OpenAPI a core component for AI applications.
You can download the OpenAPI definitions for Shopify Products Scraper - Automate Product Extraction from the options below:
If you’d like to learn more about how OpenAPI powers GPTs, read our blog post.
You can also check out our other API clients:
Actor Metrics
4 monthly users
-
2 stars
>99% runs succeeded
Created in Apr 2024
Modified 2 months ago