Amazon Product Scraper avatar
Amazon Product Scraper

Pricing

$40.00/month + usage

Go to Store
Amazon Product Scraper

Amazon Product Scraper

junglee/amazon-crawler

Developed by

Junglee

Maintained by Apify

Use this Amazon scraper to collect data based on URL and country from the Amazon website. Extract product information without using the Amazon API, including reviews, prices, descriptions, and Amazon Standard Identification Numbers (ASINs). Download data in various structured formats.

4.5 (12)

Pricing

$40.00/month + usage

119

Monthly users

208

Runs succeeded

98%

Response time

2 days

Last modified

6 hours ago

You can access the Amazon Product Scraper programmatically from your own applications by using the Apify API. You can also 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": "PTSlYFBpSef9G9tVL"
6  },
7  "servers": [
8    {
9      "url": "https://api.apify.com/v2"
10    }
11  ],
12  "paths": {
13    "/acts/junglee~amazon-crawler/run-sync-get-dataset-items": {
14      "post": {
15        "operationId": "run-sync-get-dataset-items-junglee-amazon-crawler",
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/junglee~amazon-crawler/runs": {
50      "post": {
51        "operationId": "runs-sync-junglee-amazon-crawler",
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/junglee~amazon-crawler/run-sync": {
93      "post": {
94        "operationId": "run-sync-junglee-amazon-crawler",
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        "required": [
134          "categoryOrProductUrls"
135        ],
136        "properties": {
137          "categoryOrProductUrls": {
138            "title": "Enter one or more Amazon category or product URLs",
139            "uniqueItems": true,
140            "type": "array",
141            "description": "Use a link to the Amazon category you want to scrape, e.g. video games - https://www.amazon.com/s?bbn=16225016011&rh=n%3A20972781011, https://www.amazon.com/dp/B0B3BVWJ6Y.\n You can also filter within the category with almost any filter available, i.e. price, manufacturer, rating, etc. \n By using a different URL you can also choose a different Amazon country, e.g. Germany: https://www.amazon.de/. You don't need to set a proxy country to do that.",
142            "items": {
143              "type": "object",
144              "required": [
145                "url"
146              ],
147              "properties": {
148                "url": {
149                  "type": "string",
150                  "title": "URL of a web page",
151                  "format": "uri"
152                }
153              }
154            }
155          },
156          "maxItemsPerStartUrl": {
157            "title": "Max results (per start URL)",
158            "minimum": 0,
159            "type": "integer",
160            "description": "Enter the maximum number of results you want to scrape per each star URL. This will let the scraper know when to stop."
161          },
162          "language": {
163            "title": "Language",
164            "enum": [
165              "cs",
166              "da",
167              "de",
168              "en",
169              "es",
170              "fr",
171              "nl",
172              "pl",
173              "pt",
174              "sv",
175              "tr",
176              "he",
177              "ar",
178              "mrta",
179              "hi",
180              "bn",
181              "ta",
182              "te",
183              "kn",
184              "ml",
185              "ko",
186              "zh_CN",
187              "zh_TW",
188              "ja"
189            ],
190            "type": "string",
191            "description": "Language to use on Amazon.\n\n**Disclaimer**: each Amazon domain has a different set of supported languages. If you choose a language that is not supported by the domain, the scraper will use the default language of the domain."
192          },
193          "proxyCountry": {
194            "title": "Proxy country",
195            "enum": [
196              "AUTO_SELECT_PROXY_COUNTRY",
197              "AF",
198              "AL",
199              "DZ",
200              "AS",
201              "AD",
202              "AO",
203              "AI",
204              "AQ",
205              "AG",
206              "AR",
207              "AM",
208              "AW",
209              "AU",
210              "AT",
211              "AZ",
212              "BS",
213              "BH",
214              "BD",
215              "BB",
216              "BY",
217              "BE",
218              "BZ",
219              "BJ",
220              "BM",
221              "BT",
222              "BO",
223              "BQ",
224              "BA",
225              "BW",
226              "BV",
227              "BR",
228              "IO",
229              "VG",
230              "BN",
231              "BG",
232              "BF",
233              "BI",
234              "KH",
235              "CM",
236              "CA",
237              "CV",
238              "KY",
239              "CF",
240              "TD",
241              "CL",
242              "CN",
243              "CX",
244              "CC",
245              "CO",
246              "KM",
247              "CK",
248              "CR",
249              "HR",
250              "CU",
251              "CW",
252              "CY",
253              "CZ",
254              "CD",
255              "DK",
256              "DJ",
257              "DM",
258              "DO",
259              "TL",
260              "EC",
261              "EG",
262              "SV",
263              "GQ",
264              "ER",
265              "EE",
266              "ET",
267              "FK",
268              "FO",
269              "FJ",
270              "FI",
271              "FR",
272              "GF",
273              "PF",
274              "TF",
275              "GA",
276              "GM",
277              "GE",
278              "DE",
279              "GH",
280              "GI",
281              "GR",
282              "GL",
283              "GD",
284              "GP",
285              "GU",
286              "GT",
287              "GG",
288              "GW",
289              "GN",
290              "GY",
291              "HT",
292              "HM",
293              "HN",
294              "HK",
295              "HU",
296              "IS",
297              "IN",
298              "ID",
299              "IR",
300              "IQ",
301              "IE",
302              "IM",
303              "IL",
304              "IT",
305              "CI",
306              "JM",
307              "JP",
308              "JE",
309              "JO",
310              "KZ",
311              "KE",
312              "KI",
313              "XK",
314              "KW",
315              "KG",
316              "LA",
317              "LV",
318              "LB",
319              "LS",
320              "LR",
321              "LY",
322              "LI",
323              "LT",
324              "LU",
325              "MO",
326              "MG",
327              "MW",
328              "MY",
329              "MV",
330              "ML",
331              "MT",
332              "MH",
333              "MQ",
334              "MR",
335              "MU",
336              "YT",
337              "MX",
338              "FM",
339              "MD",
340              "MC",
341              "MN",
342              "ME",
343              "MS",
344              "MA",
345              "MZ",
346              "MM",
347              "NA",
348              "NR",
349              "NP",
350              "NL",
351              "NC",
352              "NZ",
353              "NI",
354              "NE",
355              "NG",
356              "NU",
357              "NF",
358              "KP",
359              "MK",
360              "MP",
361              "NO",
362              "OM",
363              "PK",
364              "PW",
365              "PS",
366              "PA",
367              "PG",
368              "PY",
369              "PE",
370              "PH",
371              "PN",
372              "PL",
373              "PT",
374              "PR",
375              "QA",
376              "CG",
377              "RE",
378              "RO",
379              "RU",
380              "RW",
381              "BL",
382              "SH",
383              "KN",
384              "LC",
385              "MF",
386              "PM",
387              "VC",
388              "WS",
389              "SM",
390              "ST",
391              "SA",
392              "SN",
393              "RS",
394              "SC",
395              "SL",
396              "SG",
397              "SX",
398              "SK",
399              "SI",
400              "SB",
401              "SO",
402              "ZA",
403              "GS",
404              "KR",
405              "SS",
406              "ES",
407              "LK",
408              "SD",
409              "SR",
410              "SJ",
411              "SZ",
412              "SE",
413              "CH",
414              "SY",
415              "TW",
416              "TJ",
417              "TZ",
418              "TH",
419              "TG",
420              "TK",
421              "TO",
422              "TT",
423              "TN",
424              "TR",
425              "TM",
426              "TC",
427              "TV",
428              "UM",
429              "VI",
430              "UG",
431              "UA",
432              "AE",
433              "GB",
434              "US",
435              "UY",
436              "UZ",
437              "VU",
438              "VA",
439              "VE",
440              "VN",
441              "WF",
442              "EH",
443              "YE",
444              "ZM",
445              "ZW",
446              "AX"
447            ],
448            "type": "string",
449            "description": "You can set proxy country to **avoid geo-blocking** and **access region-specific content**. Amazon shows you the products that can be shipped to your address based on the proxy you use.\n\n*By default*, the scraper **automatically selects** the **proxy country** based on the used Amazon website domain, ensuring low blocking rates and results relevant to the base domain.",
450            "default": "AUTO_SELECT_PROXY_COUNTRY"
451          },
452          "maxOffers": {
453            "title": "Maximum scraped offers",
454            "minimum": 0,
455            "type": "integer",
456            "description": "Enter the maximum number of offers you want to scrape per each product. This will let the scraper know when to stop.\n\nNote that this **will increase the number of requests** and **extend the scraping time**.",
457            "default": 0
458          },
459          "scrapeSellers": {
460            "title": "Scrape sellers",
461            "type": "boolean",
462            "description": "Enable this option to extract further information about sellers of the product. Scrapes the featured offer seller (main seller).\n\nThis option goes hand in hand with the `maxOffers` option bby scraping the seller of each offer. If you set `maxOffers` to 0, only the featured offer seller will be scraped.\n\nNote that this **will increase the number of requests** and **extend the scraping time**.",
463            "default": false
464          },
465          "ensureLoadedProductDescriptionFields": {
466            "title": "Ensure loaded product description fields",
467            "type": "boolean",
468            "description": "Enable this feature to always load all seller-editable product description fields, such as *`description`, `aPlusContent`, `attributes`, etc.*\n\n- Amazon sometimes hides these fields as a form of blocking\n- Enabling this option helps ensure data consistency but will increase the number of requests and may extend scraping time based on the blocking rate\n- Turn it on only if you need the data",
469            "default": false
470          },
471          "useCaptchaSolver": {
472            "title": "Use Captcha solver (warning: see description)",
473            "type": "boolean",
474            "description": "If enabled the scraper will automatically solve captchas thrown by Amazon. This will decrease the amount of request retries and increase the speed of the scraper.<br><br>***IMPORTANT*** - This option works well only for the `'.com'` Amazon domain, but even for that one Amazon doesn't show a few product fields after solving a captcha (specifically: 'attributes', 'manufacturer attributes', and 'bestseller ranks')",
475            "default": false
476          },
477          "scrapeProductVariantPrices": {
478            "title": "Scrape product variant prices",
479            "type": "boolean",
480            "description": "Enable this option to extract prices of different variations of a product. Useful when you need prices for each variant.\n\nNote that this **will increase the number of requests** and **extend the scraping time**.",
481            "default": false
482          },
483          "scrapeProductDetails": {
484            "title": "Scrape product details",
485            "type": "boolean",
486            "description": "If enabled, the scraper will extract each found product from the category page in detail (this is the default behavior).\n\nIf disabled, the scraper will only extract the quick product information from the category page. Useful for faster and more lightweight searches for products.",
487            "default": true
488          }
489        }
490      },
491      "runsResponseSchema": {
492        "type": "object",
493        "properties": {
494          "data": {
495            "type": "object",
496            "properties": {
497              "id": {
498                "type": "string"
499              },
500              "actId": {
501                "type": "string"
502              },
503              "userId": {
504                "type": "string"
505              },
506              "startedAt": {
507                "type": "string",
508                "format": "date-time",
509                "example": "2025-01-08T00:00:00.000Z"
510              },
511              "finishedAt": {
512                "type": "string",
513                "format": "date-time",
514                "example": "2025-01-08T00:00:00.000Z"
515              },
516              "status": {
517                "type": "string",
518                "example": "READY"
519              },
520              "meta": {
521                "type": "object",
522                "properties": {
523                  "origin": {
524                    "type": "string",
525                    "example": "API"
526                  },
527                  "userAgent": {
528                    "type": "string"
529                  }
530                }
531              },
532              "stats": {
533                "type": "object",
534                "properties": {
535                  "inputBodyLen": {
536                    "type": "integer",
537                    "example": 2000
538                  },
539                  "rebootCount": {
540                    "type": "integer",
541                    "example": 0
542                  },
543                  "restartCount": {
544                    "type": "integer",
545                    "example": 0
546                  },
547                  "resurrectCount": {
548                    "type": "integer",
549                    "example": 0
550                  },
551                  "computeUnits": {
552                    "type": "integer",
553                    "example": 0
554                  }
555                }
556              },
557              "options": {
558                "type": "object",
559                "properties": {
560                  "build": {
561                    "type": "string",
562                    "example": "latest"
563                  },
564                  "timeoutSecs": {
565                    "type": "integer",
566                    "example": 300
567                  },
568                  "memoryMbytes": {
569                    "type": "integer",
570                    "example": 1024
571                  },
572                  "diskMbytes": {
573                    "type": "integer",
574                    "example": 2048
575                  }
576                }
577              },
578              "buildId": {
579                "type": "string"
580              },
581              "defaultKeyValueStoreId": {
582                "type": "string"
583              },
584              "defaultDatasetId": {
585                "type": "string"
586              },
587              "defaultRequestQueueId": {
588                "type": "string"
589              },
590              "buildNumber": {
591                "type": "string",
592                "example": "1.0.0"
593              },
594              "containerUrl": {
595                "type": "string"
596              },
597              "usage": {
598                "type": "object",
599                "properties": {
600                  "ACTOR_COMPUTE_UNITS": {
601                    "type": "integer",
602                    "example": 0
603                  },
604                  "DATASET_READS": {
605                    "type": "integer",
606                    "example": 0
607                  },
608                  "DATASET_WRITES": {
609                    "type": "integer",
610                    "example": 0
611                  },
612                  "KEY_VALUE_STORE_READS": {
613                    "type": "integer",
614                    "example": 0
615                  },
616                  "KEY_VALUE_STORE_WRITES": {
617                    "type": "integer",
618                    "example": 1
619                  },
620                  "KEY_VALUE_STORE_LISTS": {
621                    "type": "integer",
622                    "example": 0
623                  },
624                  "REQUEST_QUEUE_READS": {
625                    "type": "integer",
626                    "example": 0
627                  },
628                  "REQUEST_QUEUE_WRITES": {
629                    "type": "integer",
630                    "example": 0
631                  },
632                  "DATA_TRANSFER_INTERNAL_GBYTES": {
633                    "type": "integer",
634                    "example": 0
635                  },
636                  "DATA_TRANSFER_EXTERNAL_GBYTES": {
637                    "type": "integer",
638                    "example": 0
639                  },
640                  "PROXY_RESIDENTIAL_TRANSFER_GBYTES": {
641                    "type": "integer",
642                    "example": 0
643                  },
644                  "PROXY_SERPS": {
645                    "type": "integer",
646                    "example": 0
647                  }
648                }
649              },
650              "usageTotalUsd": {
651                "type": "number",
652                "example": 0.00005
653              },
654              "usageUsd": {
655                "type": "object",
656                "properties": {
657                  "ACTOR_COMPUTE_UNITS": {
658                    "type": "integer",
659                    "example": 0
660                  },
661                  "DATASET_READS": {
662                    "type": "integer",
663                    "example": 0
664                  },
665                  "DATASET_WRITES": {
666                    "type": "integer",
667                    "example": 0
668                  },
669                  "KEY_VALUE_STORE_READS": {
670                    "type": "integer",
671                    "example": 0
672                  },
673                  "KEY_VALUE_STORE_WRITES": {
674                    "type": "number",
675                    "example": 0.00005
676                  },
677                  "KEY_VALUE_STORE_LISTS": {
678                    "type": "integer",
679                    "example": 0
680                  },
681                  "REQUEST_QUEUE_READS": {
682                    "type": "integer",
683                    "example": 0
684                  },
685                  "REQUEST_QUEUE_WRITES": {
686                    "type": "integer",
687                    "example": 0
688                  },
689                  "DATA_TRANSFER_INTERNAL_GBYTES": {
690                    "type": "integer",
691                    "example": 0
692                  },
693                  "DATA_TRANSFER_EXTERNAL_GBYTES": {
694                    "type": "integer",
695                    "example": 0
696                  },
697                  "PROXY_RESIDENTIAL_TRANSFER_GBYTES": {
698                    "type": "integer",
699                    "example": 0
700                  },
701                  "PROXY_SERPS": {
702                    "type": "integer",
703                    "example": 0
704                  }
705                }
706              }
707            }
708          }
709        }
710      }
711    }
712  }
713}

📦 Amazon Product Scraper 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 Amazon Product Scraper 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:

Pricing

Pricing model

Rental 

To use this Actor, you have to pay a monthly rental fee to the developer. The rent is subtracted from your prepaid usage every month after the free trial period. You also pay for the Apify platform usage.

Free trial

14 days

Price

$40.00