
Shopee Api Scraper
14 days trial then $50.00/month - No credit card required now
This Actor may be unreliable while under maintenance. Would you like to try a similar Actor instead?
See alternative Actors
Shopee Api Scraper
14 days trial then $50.00/month - No credit card required now
Query Shopee's unofficial API for product searches by keyword, category, or shop. Access detailed information including prices, orders, stock levels, and ratings. Also retrieve related entities like the category tree, shop listings, and keyword suggestions.
You can access the Shopee Api Scraper 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": "1.7",
5 "x-build-id": "YY0JrwCtjL44ycTXI"
6 },
7 "servers": [
8 {
9 "url": "https://api.apify.com/v2"
10 }
11 ],
12 "paths": {
13 "/acts/marc_plouhinec~shopee-api-scraper/run-sync-get-dataset-items": {
14 "post": {
15 "operationId": "run-sync-get-dataset-items-marc_plouhinec-shopee-api-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/marc_plouhinec~shopee-api-scraper/runs": {
50 "post": {
51 "operationId": "runs-sync-marc_plouhinec-shopee-api-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/marc_plouhinec~shopee-api-scraper/run-sync": {
93 "post": {
94 "operationId": "run-sync-marc_plouhinec-shopee-api-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 "required": [
134 "requests",
135 "proxy"
136 ],
137 "properties": {
138 "requests": {
139 "title": "API requests",
140 "type": "array",
141 "description": "One or more URLs of the Shopee APIs to invoke. Look at the README document for detailed explanations and examples.",
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 "proxy": {
157 "title": "Proxy configuration",
158 "type": "object",
159 "description": "Select proxies to be used to scrape data. Use RESIDENTIAL proxies in the same country as your target."
160 },
161 "enrichUrlQuery": {
162 "title": "Enrich URLs",
163 "type": "boolean",
164 "description": "Automatically generate missing URL parameters. For example add result limits and session IDs.",
165 "default": true
166 },
167 "generateReferrer": {
168 "title": "Generate referrers",
169 "type": "boolean",
170 "description": "Automatically generate the referrer HTTP header before sending API requests, to make them look more \"authentic\".",
171 "default": true
172 },
173 "verboseLogs": {
174 "title": "Verbose logs",
175 "type": "boolean",
176 "description": "Enable this option to activate detailed logging within the scraper's operation. This feature is particularly useful for troubleshooting errors.",
177 "default": true
178 },
179 "minConcurrency": {
180 "title": "Minimum concurrency",
181 "minimum": 1,
182 "type": "integer",
183 "description": "Minimum concurrency (parallelism) for the crawl.",
184 "default": 1
185 },
186 "maxConcurrency": {
187 "title": "Maximum concurrency",
188 "minimum": 1,
189 "type": "integer",
190 "description": "Maximum concurrency (parallelism) for the crawl.",
191 "default": 1
192 },
193 "maxRequestsPerCrawl": {
194 "title": "Maximum requests per crawl",
195 "minimum": 1,
196 "type": "integer",
197 "description": "Maximum number of requests that the crawler will execute. The crawl will stop when this limit is reached.",
198 "default": 999999999
199 },
200 "maxConsecutiveBlockagesInTotal": {
201 "title": "Abort after too many consecutive blockages",
202 "minimum": 1,
203 "type": "integer",
204 "description": "Stop scraping when too many requests get blocked consecutively. This can happen with poor quality proxies or if this scraper is not compatible anymore with an upgraded anti-bot technology.",
205 "default": 200
206 },
207 "securitySdkLoadTimeoutMs": {
208 "title": "Security SDK Load Timeout",
209 "minimum": 1000,
210 "maximum": 60000,
211 "type": "integer",
212 "description": "Sets the maximum time, in milliseconds, to wait for the Security SDK report from Shopee's anti-bot measures during website load.",
213 "default": 20000
214 },
215 "maxPageReloadsPerProxy": {
216 "title": "Max Page Reloads Per Proxy",
217 "minimum": 1,
218 "maximum": 30,
219 "type": "integer",
220 "description": "Defines the limit for reloading a page using the same proxy when faced with blockages. Exceeding this limit triggers the use of a new proxy for the next attempt.",
221 "default": 2
222 },
223 "websiteLoadFailureScreenshot": {
224 "title": "Website load failure screenshot",
225 "type": "boolean",
226 "description": "Enables capturing and saving a screenshot in the key-value store if the website fails to load, aiding in troubleshooting issues.",
227 "default": false
228 },
229 "productSearch_enrichUrlQuery_pageSize": {
230 "title": "Page size (product search)",
231 "type": "integer",
232 "description": "Maximum number of results per request to crawl when searching products.",
233 "default": 60
234 },
235 "productSearch_crawlNextPages": {
236 "title": "Crawl next pages (product search)",
237 "type": "boolean",
238 "description": "Automatically crawl next pages when scraping search results.",
239 "default": false
240 },
241 "productSearch_crawlNextPages_maxPages": {
242 "title": "Maximum number of pages (product search)",
243 "minimum": 1,
244 "type": "integer",
245 "description": "Maximum number of pages to crawl when searching products.",
246 "default": 50
247 },
248 "productSearch_crawlNextPages_maxResults": {
249 "title": "Maximum number of results (product search)",
250 "type": "integer",
251 "description": "Maximum number of results to crawl when searching products.",
252 "default": 3000
253 },
254 "productSearch_crawlNextPages_minSales": {
255 "title": "Minimum sales threshold for page crawling (product search)",
256 "minimum": 0,
257 "type": "integer",
258 "description": "Minimum sales threshold to halt automatic page navigation in shop product listings. Crawling stops when a product with sales equal to or less than this value appears, assuming products are sorted by sales in descending order. Useful for scraping all selling products of a shop or a category and avoiding scraping products with no sales."
259 },
260 "productSearch_crawlProductDetails": {
261 "title": "Crawl product details (product search)",
262 "type": "boolean",
263 "description": "Automatically crawl product details from the search results.",
264 "default": false
265 },
266 "productDetail_crawlProductRatings": {
267 "title": "Crawl product ratings (product detail)",
268 "type": "array",
269 "description": "Automatically crawl product ratings after querying a product detail. Also indicate what filter to apply. If multiple filters are provided, requests for each filter are executed.",
270 "items": {
271 "type": "string",
272 "enum": [
273 "ALL",
274 "ONE_STAR",
275 "TWO_STARS",
276 "THREE_STARS",
277 "FOUR_STARS",
278 "FIVE_STARS",
279 "WITH_COMMENTS",
280 "WITH_MEDIA",
281 "LOCAL_REVIEWS"
282 ],
283 "enumTitles": [
284 "All ratings",
285 "1 star ratings",
286 "2 stars ratings",
287 "3 stars ratings",
288 "4 stars ratings",
289 "5 stars ratings",
290 "Ratings with comments",
291 "Ratings with media",
292 "Local ratings"
293 ]
294 }
295 },
296 "productRatings_enrichUrlQuery_pageSize": {
297 "title": "Page size (product ratings)",
298 "maximum": 59,
299 "type": "integer",
300 "description": "Maximum number of results per request when crawling product ratings.",
301 "default": 6
302 },
303 "productRatings_crawlNextPages": {
304 "title": "Crawl next pages (product ratings)",
305 "type": "boolean",
306 "description": "Automatically crawl next pages when scraping product ratings.",
307 "default": false
308 },
309 "productRatings_crawlNextPages_maxPages": {
310 "title": "Maximum number of pages (product ratings)",
311 "minimum": 1,
312 "type": "integer",
313 "description": "Maximum number of pages to crawl when visiting product ratings.",
314 "default": 500
315 },
316 "productRatings_crawlNextPages_maxResults": {
317 "title": "Maximum number of results (product ratings)",
318 "type": "integer",
319 "description": "Maximum number of results to crawl when visiting product ratings.",
320 "default": 3000
321 },
322 "productRatings_autofixError10002": {
323 "title": "Automatically fix the error 10002 (product ratings)",
324 "type": "boolean",
325 "description": "Sometimes the product ratings API returns the error 10002. Enabling this option allows this scraper to fix this issue by splitting problematic requests into multiple smaller ones.",
326 "default": true
327 },
328 "shopSearch_enrichUrlQuery_pageSize": {
329 "title": "Page size (shop search)",
330 "type": "integer",
331 "description": "Maximum number of results per request to crawl when searching shops.",
332 "default": 6
333 },
334 "shopSearch_crawlNextPages": {
335 "title": "Crawl next pages (shop search)",
336 "type": "boolean",
337 "description": "Automatically crawl next pages when scraping search results.",
338 "default": false
339 },
340 "shopSearch_crawlNextPages_maxPages": {
341 "title": "Maximum number of pages (shop search)",
342 "minimum": 1,
343 "type": "integer",
344 "description": "Maximum number of pages to crawl when searching shops.",
345 "default": 500
346 },
347 "shopSearch_crawlNextPages_maxResults": {
348 "title": "Maximum number of results (shop search)",
349 "type": "integer",
350 "description": "Maximum number of results to crawl when searching shops.",
351 "default": 3000
352 },
353 "shopSearch_crawlShopDetails": {
354 "title": "Crawl shop details (shop search)",
355 "type": "boolean",
356 "description": "Automatically crawl shop details from the search results.",
357 "default": false
358 },
359 "shopDetail_crawlShopProducts": {
360 "title": "Crawl shop products (shop detail)",
361 "type": "boolean",
362 "description": "Automatically crawl products after querying a shop detail.",
363 "default": false
364 },
365 "shopProducts_enrichUrlQuery_pageSize": {
366 "title": "Page size (shop products)",
367 "type": "integer",
368 "description": "Maximum number of results per request when crawling shop products.",
369 "default": 30
370 },
371 "shopProducts_crawlNextPages": {
372 "title": "Crawl next pages (shop products)",
373 "type": "boolean",
374 "description": "Automatically crawl next pages when scraping shop products.",
375 "default": false
376 },
377 "shopProducts_crawlNextPages_maxPages": {
378 "title": "Maximum number of pages (shop products)",
379 "minimum": 1,
380 "type": "integer",
381 "description": "Maximum number of pages to crawl when visiting shop products.",
382 "default": 100
383 },
384 "shopProducts_crawlNextPages_maxResults": {
385 "title": "Maximum number of results (shop products)",
386 "type": "integer",
387 "description": "Maximum number of results to crawl when visiting shop products.",
388 "default": 3000
389 },
390 "shopProducts_crawlNextPages_minSales": {
391 "title": "Minimum sales threshold for page crawling (shop products)",
392 "minimum": 0,
393 "type": "integer",
394 "description": "Minimum sales threshold to halt automatic page navigation in shop product listings. Crawling stops when a product with sales equal to or less than this value appears, assuming products are sorted by sales in descending order. Useful for scraping all selling products of a shop and avoiding scraping products with no sales."
395 },
396 "shopProducts_crawlProductDetails": {
397 "title": "Crawl product details (shop products)",
398 "type": "boolean",
399 "description": "Automatically crawl product details from the shop products listing.",
400 "default": false
401 },
402 "keywordSuggestions_enrichUrlQuery_pageSize": {
403 "title": "Page size (keyword suggestions)",
404 "type": "integer",
405 "description": "Maximum number of results per request when crawling keyword suggestions.",
406 "default": 8
407 },
408 "keywordSuggestions_crawlNextPages": {
409 "title": "Crawl next pages (keyword suggestions)",
410 "type": "boolean",
411 "description": "Automatically crawl next pages when scraping keyword suggestions.",
412 "default": false
413 },
414 "keywordSuggestions_crawlNextPages_maxPages": {
415 "title": "Maximum number of pages (keyword suggestions)",
416 "minimum": 1,
417 "type": "integer",
418 "description": "Maximum number of pages to crawl when visiting keyword suggestions.",
419 "default": 55
420 },
421 "keywordSuggestions_crawlNextPages_maxResults": {
422 "title": "Maximum number of results (keyword suggestions)",
423 "maximum": 440,
424 "type": "integer",
425 "description": "Maximum number of results to crawl when visiting keyword suggestions.",
426 "default": 440
427 }
428 }
429 },
430 "runsResponseSchema": {
431 "type": "object",
432 "properties": {
433 "data": {
434 "type": "object",
435 "properties": {
436 "id": {
437 "type": "string"
438 },
439 "actId": {
440 "type": "string"
441 },
442 "userId": {
443 "type": "string"
444 },
445 "startedAt": {
446 "type": "string",
447 "format": "date-time",
448 "example": "2025-01-08T00:00:00.000Z"
449 },
450 "finishedAt": {
451 "type": "string",
452 "format": "date-time",
453 "example": "2025-01-08T00:00:00.000Z"
454 },
455 "status": {
456 "type": "string",
457 "example": "READY"
458 },
459 "meta": {
460 "type": "object",
461 "properties": {
462 "origin": {
463 "type": "string",
464 "example": "API"
465 },
466 "userAgent": {
467 "type": "string"
468 }
469 }
470 },
471 "stats": {
472 "type": "object",
473 "properties": {
474 "inputBodyLen": {
475 "type": "integer",
476 "example": 2000
477 },
478 "rebootCount": {
479 "type": "integer",
480 "example": 0
481 },
482 "restartCount": {
483 "type": "integer",
484 "example": 0
485 },
486 "resurrectCount": {
487 "type": "integer",
488 "example": 0
489 },
490 "computeUnits": {
491 "type": "integer",
492 "example": 0
493 }
494 }
495 },
496 "options": {
497 "type": "object",
498 "properties": {
499 "build": {
500 "type": "string",
501 "example": "latest"
502 },
503 "timeoutSecs": {
504 "type": "integer",
505 "example": 300
506 },
507 "memoryMbytes": {
508 "type": "integer",
509 "example": 1024
510 },
511 "diskMbytes": {
512 "type": "integer",
513 "example": 2048
514 }
515 }
516 },
517 "buildId": {
518 "type": "string"
519 },
520 "defaultKeyValueStoreId": {
521 "type": "string"
522 },
523 "defaultDatasetId": {
524 "type": "string"
525 },
526 "defaultRequestQueueId": {
527 "type": "string"
528 },
529 "buildNumber": {
530 "type": "string",
531 "example": "1.0.0"
532 },
533 "containerUrl": {
534 "type": "string"
535 },
536 "usage": {
537 "type": "object",
538 "properties": {
539 "ACTOR_COMPUTE_UNITS": {
540 "type": "integer",
541 "example": 0
542 },
543 "DATASET_READS": {
544 "type": "integer",
545 "example": 0
546 },
547 "DATASET_WRITES": {
548 "type": "integer",
549 "example": 0
550 },
551 "KEY_VALUE_STORE_READS": {
552 "type": "integer",
553 "example": 0
554 },
555 "KEY_VALUE_STORE_WRITES": {
556 "type": "integer",
557 "example": 1
558 },
559 "KEY_VALUE_STORE_LISTS": {
560 "type": "integer",
561 "example": 0
562 },
563 "REQUEST_QUEUE_READS": {
564 "type": "integer",
565 "example": 0
566 },
567 "REQUEST_QUEUE_WRITES": {
568 "type": "integer",
569 "example": 0
570 },
571 "DATA_TRANSFER_INTERNAL_GBYTES": {
572 "type": "integer",
573 "example": 0
574 },
575 "DATA_TRANSFER_EXTERNAL_GBYTES": {
576 "type": "integer",
577 "example": 0
578 },
579 "PROXY_RESIDENTIAL_TRANSFER_GBYTES": {
580 "type": "integer",
581 "example": 0
582 },
583 "PROXY_SERPS": {
584 "type": "integer",
585 "example": 0
586 }
587 }
588 },
589 "usageTotalUsd": {
590 "type": "number",
591 "example": 0.00005
592 },
593 "usageUsd": {
594 "type": "object",
595 "properties": {
596 "ACTOR_COMPUTE_UNITS": {
597 "type": "integer",
598 "example": 0
599 },
600 "DATASET_READS": {
601 "type": "integer",
602 "example": 0
603 },
604 "DATASET_WRITES": {
605 "type": "integer",
606 "example": 0
607 },
608 "KEY_VALUE_STORE_READS": {
609 "type": "integer",
610 "example": 0
611 },
612 "KEY_VALUE_STORE_WRITES": {
613 "type": "number",
614 "example": 0.00005
615 },
616 "KEY_VALUE_STORE_LISTS": {
617 "type": "integer",
618 "example": 0
619 },
620 "REQUEST_QUEUE_READS": {
621 "type": "integer",
622 "example": 0
623 },
624 "REQUEST_QUEUE_WRITES": {
625 "type": "integer",
626 "example": 0
627 },
628 "DATA_TRANSFER_INTERNAL_GBYTES": {
629 "type": "integer",
630 "example": 0
631 },
632 "DATA_TRANSFER_EXTERNAL_GBYTES": {
633 "type": "integer",
634 "example": 0
635 },
636 "PROXY_RESIDENTIAL_TRANSFER_GBYTES": {
637 "type": "integer",
638 "example": 0
639 },
640 "PROXY_SERPS": {
641 "type": "integer",
642 "example": 0
643 }
644 }
645 }
646 }
647 }
648 }
649 }
650 }
651 }
652}
Shopee Api 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 Shopee Api 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:
Actor Metrics
30 monthly users
-
11 stars
97% runs succeeded
Created in Jan 2024
Modified 8 months ago