{
  "openapi": "3.0.1",
  "info": {
    "title": "Banggood Scraper - Products, Prices, Specs & Reviews",
    "description": "Scrape Banggood by keyword, category, URL or product ID: regular and new-user prices for any ship-to country, discount, stock, units sold, shipping cost and delivery dates, variants, specs, images and reviews. Monitor price drops. Independent tool, not affiliated with Banggood.",
    "version": "0.1",
    "x-build-id": "VOl6pGHNwdaGtsrus"
  },
  "servers": [
    {
      "url": "https://api.apify.com/v2"
    }
  ],
  "paths": {
    "/acts/scrapesage~banggood-scraper/run-sync-get-dataset-items": {
      "post": {
        "operationId": "run-sync-get-dataset-items-scrapesage-banggood-scraper",
        "x-openai-isConsequential": false,
        "summary": "Executes an Actor, waits for its completion, and returns Actor's dataset items in response.",
        "tags": [
          "Run Actor"
        ],
        "requestBody": {
          "required": true,
          "content": {
            "application/json": {
              "schema": {
                "$ref": "#/components/schemas/inputSchema"
              }
            }
          }
        },
        "parameters": [
          {
            "name": "token",
            "in": "query",
            "required": true,
            "schema": {
              "type": "string"
            },
            "description": "Enter your Apify token here"
          }
        ],
        "responses": {
          "200": {
            "description": "OK"
          }
        }
      }
    },
    "/acts/scrapesage~banggood-scraper/runs": {
      "post": {
        "operationId": "runs-sync-scrapesage-banggood-scraper",
        "x-openai-isConsequential": false,
        "summary": "Executes an Actor and returns information about the initiated run in response.",
        "tags": [
          "Run Actor"
        ],
        "requestBody": {
          "required": true,
          "content": {
            "application/json": {
              "schema": {
                "$ref": "#/components/schemas/inputSchema"
              }
            }
          }
        },
        "parameters": [
          {
            "name": "token",
            "in": "query",
            "required": true,
            "schema": {
              "type": "string"
            },
            "description": "Enter your Apify token here"
          }
        ],
        "responses": {
          "200": {
            "description": "OK",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/runsResponseSchema"
                }
              }
            }
          }
        }
      }
    },
    "/acts/scrapesage~banggood-scraper/run-sync": {
      "post": {
        "operationId": "run-sync-scrapesage-banggood-scraper",
        "x-openai-isConsequential": false,
        "summary": "Executes an Actor, waits for completion, and returns the OUTPUT from Key-value store in response.",
        "tags": [
          "Run Actor"
        ],
        "requestBody": {
          "required": true,
          "content": {
            "application/json": {
              "schema": {
                "$ref": "#/components/schemas/inputSchema"
              }
            }
          }
        },
        "parameters": [
          {
            "name": "token",
            "in": "query",
            "required": true,
            "schema": {
              "type": "string"
            },
            "description": "Enter your Apify token here"
          }
        ],
        "responses": {
          "200": {
            "description": "OK"
          }
        }
      }
    }
  },
  "components": {
    "schemas": {
      "inputSchema": {
        "type": "object",
        "properties": {
          "searchTerms": {
            "title": "Search keywords",
            "type": "array",
            "description": "Keywords to search Banggood for, e.g. <code>drone</code>, <code>phone case</code>, <code>led strip</code>. Each keyword is its own product feed (60 products per page), in Banggood's own ranking. Leave empty if you only use URLs or product IDs.",
            "items": {
              "type": "string"
            }
          },
          "startUrls": {
            "title": "Start URLs",
            "type": "array",
            "description": "Banggood URLs: product pages (<code>…-p-&lt;id&gt;.html</code>), search pages (<code>/search/&lt;kw&gt;.html</code>, <code>/buy/&lt;kw&gt;.html</code>), category pages (<code>…-c-&lt;id&gt;.html</code>) or review pages (<code>…-reviews-p&lt;id&gt;.html</code> - the product plus its buyer reviews). You can also link or upload a text file of URLs here.",
            "items": {
              "type": "object",
              "required": [
                "url"
              ],
              "properties": {
                "url": {
                  "type": "string",
                  "title": "URL of a web page",
                  "format": "uri"
                }
              }
            }
          },
          "urlsFromFile": {
            "title": "Import URLs or product IDs from a file",
            "type": "string",
            "description": "Paste a list of Banggood URLs and/or product IDs (one per line), or paste ONE link to a .txt / .csv file or a Google Sheet that holds them."
          },
          "productIds": {
            "title": "Product IDs",
            "type": "array",
            "description": "Banggood product IDs (e.g. <code>1940642</code>) to fetch full product detail for directly. Product URLs work here too.",
            "items": {
              "type": "string"
            }
          },
          "sort": {
            "title": "Sort order",
            "enum": [
              "default",
              "newest",
              "priceAsc",
              "priceDesc",
              "mostReviews"
            ],
            "type": "string",
            "description": "How Banggood orders the keyword search results.",
            "default": "default"
          },
          "maxProducts": {
            "title": "Max products",
            "minimum": 1,
            "type": "integer",
            "description": "Maximum number of product records across all searches, URLs and product IDs (shared fairly between several searches). In monitor mode it is the watch list: the first N products of each search are checked every run.",
            "default": 100
          },
          "maxPagesPerSearch": {
            "title": "Max pages per search",
            "minimum": 1,
            "maximum": 60,
            "type": "integer",
            "description": "How many result pages to read per keyword or listing (60 products each).",
            "default": 10
          },
          "shipToCountry": {
            "title": "Ship-to country (buyer location)",
            "enum": [
              "AL",
              "DZ",
              "AS",
              "AD",
              "AO",
              "AI",
              "AG",
              "AR",
              "AW",
              "AU",
              "AT",
              "AZ",
              "BS",
              "BH",
              "BD",
              "BB",
              "BY",
              "BE",
              "BZ",
              "BJ",
              "BM",
              "BT",
              "BO",
              "BA",
              "BW",
              "BR",
              "BN",
              "BG",
              "BI",
              "KH",
              "CM",
              "CA",
              "IC",
              "CV",
              "KY",
              "TD",
              "CL",
              "CO",
              "CK",
              "CR",
              "CI",
              "HR",
              "CY",
              "CZ",
              "DK",
              "DJ",
              "DM",
              "DO",
              "TP",
              "EC",
              "EG",
              "SV",
              "GQ",
              "ER",
              "EE",
              "ET",
              "FK",
              "FO",
              "FJ",
              "FI",
              "FR",
              "GF",
              "PF",
              "GA",
              "GM",
              "GE",
              "DE",
              "GH",
              "GI",
              "GR",
              "GL",
              "GD",
              "GP",
              "GU",
              "GT",
              "GN",
              "GY",
              "HT",
              "HN",
              "HK",
              "HU",
              "IS",
              "IN",
              "ID",
              "IE",
              "IL",
              "IT",
              "JM",
              "JP",
              "JE",
              "JO",
              "KZ",
              "KE",
              "KI",
              "KR",
              "KW",
              "KG",
              "LA",
              "LV",
              "LB",
              "LS",
              "LR",
              "LI",
              "LT",
              "LU",
              "MO",
              "MK",
              "MG",
              "MW",
              "MY",
              "MV",
              "MT",
              "MH",
              "MQ",
              "MR",
              "MU",
              "MX",
              "FM",
              "MD",
              "MC",
              "MN",
              "ME",
              "MS",
              "MA",
              "MM",
              "NA",
              "NR",
              "NL",
              "NC",
              "NZ",
              "NI",
              "NG",
              "NU",
              "MP",
              "NO",
              "OM",
              "PK",
              "PA",
              "PG",
              "PE",
              "PH",
              "PL",
              "PT",
              "PR",
              "QA",
              "CG",
              "RE",
              "RO",
              "RU",
              "KN",
              "LC",
              "VC",
              "WS",
              "SM",
              "SA",
              "SN",
              "RS",
              "SL",
              "SG",
              "SK",
              "SI",
              "SB",
              "ZA",
              "ES",
              "LK",
              "SH",
              "SR",
              "SZ",
              "SE",
              "CH",
              "TJ",
              "TZ",
              "TH",
              "TG",
              "TO",
              "TT",
              "TN",
              "TR",
              "TM",
              "TC",
              "TV",
              "UG",
              "UA",
              "AE",
              "GB",
              "US",
              "UY",
              "UZ",
              "VU",
              "VA",
              "VE",
              "VN",
              "VG",
              "VI",
              "ZM",
              "ZW"
            ],
            "type": "string",
            "description": "The country the buyer is in. Banggood prices, discounts, shipping costs and delivery dates, and the overseas warehouses it offers, all depend on it. Leave empty for the United States (or, when you pick a warehouse below, that warehouse's region)."
          },
          "currency": {
            "title": "Currency",
            "enum": [
              "USD",
              "EUR",
              "GBP",
              "AUD",
              "CAD",
              "RUB",
              "BRL",
              "CHF",
              "DKK",
              "PHP",
              "SGD",
              "CZK",
              "HUF",
              "MXN",
              "NOK",
              "NZD",
              "PLN",
              "THB",
              "HKD",
              "ILS",
              "SEK",
              "ZAR",
              "KRW",
              "CLP",
              "TRY",
              "INR",
              "JPY",
              "AED",
              "MYR",
              "IDR",
              "UAH",
              "KWD",
              "QAR",
              "BHD",
              "SAR",
              "COP",
              "PEN",
              "RON",
              "EGP",
              "OMR",
              "JOD",
              "LBP",
              "VND",
              "GHS",
              "UGX",
              "NGN",
              "KES",
              "MAD",
              "DZD"
            ],
            "type": "string",
            "description": "Currency for every price in the output, converted with Banggood's own exchange rates (the same figures its site shows). <code>priceUsd</code> always carries the US-dollar value too.",
            "default": "USD"
          },
          "warehouse": {
            "title": "Ships from (warehouse)",
            "enum": [
              "ANY",
              "CN",
              "HK",
              "US",
              "UK",
              "CZ",
              "PL",
              "AU"
            ],
            "type": "string",
            "description": "Only products that ship from this Banggood warehouse. Overseas warehouses are offered only to buyers in their region (US warehouse: US/CA buyers, UK: UK buyers, CZ/PL: EU buyers) - picking one sets the ship-to country to its region unless you chose one. Banggood no longer runs an Australian warehouse.",
            "default": "ANY"
          },
          "minPrice": {
            "title": "Min price",
            "minimum": 0,
            "type": "integer",
            "description": "Only products whose regular price (in the chosen currency) is at least this much."
          },
          "maxPrice": {
            "title": "Max price",
            "minimum": 0,
            "type": "integer",
            "description": "Only products whose regular price (in the chosen currency) is at most this much."
          },
          "fourStarPlus": {
            "title": "4 stars & up only",
            "type": "boolean",
            "description": "Only products with an average rating of 4.0 or higher (products with no reviews yet are left out).",
            "default": false
          },
          "includeProductDetails": {
            "title": "Include full product detail",
            "type": "boolean",
            "description": "Open every product page for the full record: description, specifications, all images, brand, SKU, category breadcrumb, wholesale prices, every shipping option, and the variant matrix with each option's own price and stock. Turn off for a faster, cheaper discovery run - those rows still carry the regular price, discount, stock, units sold, rating and default shipping.",
            "default": true
          },
          "includeReviews": {
            "title": "Include buyer reviews",
            "type": "boolean",
            "description": "Fetch buyer reviews for every product (rating, text in the reviewer's own words plus an English translation when there is one, reviewer country, photos, helpful votes, date) as separate review records.",
            "default": false
          },
          "maxReviewsPerProduct": {
            "title": "Max reviews per product",
            "minimum": 1,
            "maximum": 500,
            "type": "integer",
            "description": "Maximum number of reviews per product when reviews are on.",
            "default": 20
          },
          "reviewsSort": {
            "title": "Review order",
            "enum": [
              "recent",
              "top"
            ],
            "type": "string",
            "description": "Newest reviews first, or Banggood's \"Top reviews\" order (its featured, mostly older reviews).",
            "default": "recent"
          },
          "reviewStars": {
            "title": "Only reviews with these star ratings",
            "type": "array",
            "description": "Leave empty for all reviews. Pick e.g. 1 and 2 stars to collect only critical reviews.",
            "items": {
              "type": "string",
              "enum": [
                "5",
                "4",
                "3",
                "2",
                "1"
              ],
              "enumTitles": [
                "5 stars",
                "4 stars",
                "3 stars",
                "2 stars",
                "1 star"
              ]
            }
          },
          "deduplicateProducts": {
            "title": "Deduplicate products",
            "type": "boolean",
            "description": "Deliver each product once per run, even if several searches find it.",
            "default": true
          },
          "monitorMode": {
            "title": "Monitor mode (only new or changed products)",
            "type": "boolean",
            "description": "Remember products across runs and deliver only the ones that are new to the watch list or whose price or stock changed since the last run - each carries a <code>changeType</code> (new / price_drop / price_rise / restocked / out_of_stock) and the previous price. With reviews on, only reviews not delivered before are sent. Pair it with an Apify Schedule.",
            "default": false
          },
          "monitorKey": {
            "title": "Monitor key",
            "type": "string",
            "description": "Names the monitor's memory, so you can run several independent monitors (e.g. one per keyword). Reuse the same key to keep tracking the same products.",
            "default": "default"
          },
          "maxConcurrency": {
            "title": "Max concurrency",
            "minimum": 1,
            "maximum": 8,
            "type": "integer",
            "description": "How many products are fetched in parallel.",
            "default": 4
          },
          "proxyConfiguration": {
            "title": "Proxy configuration",
            "type": "object",
            "description": "The default Apify proxy works for every Banggood page; if Banggood ever refuses it, the actor moves to residential addresses by itself. Change this only to use your own proxies.",
            "default": {
              "useApifyProxy": true
            }
          }
        }
      },
      "runsResponseSchema": {
        "type": "object",
        "properties": {
          "data": {
            "type": "object",
            "properties": {
              "id": {
                "type": "string"
              },
              "actId": {
                "type": "string"
              },
              "userId": {
                "type": "string"
              },
              "startedAt": {
                "type": "string",
                "format": "date-time",
                "example": "2025-01-08T00:00:00.000Z"
              },
              "finishedAt": {
                "type": "string",
                "format": "date-time",
                "example": "2025-01-08T00:00:00.000Z"
              },
              "status": {
                "type": "string",
                "example": "READY"
              },
              "meta": {
                "type": "object",
                "properties": {
                  "origin": {
                    "type": "string",
                    "example": "API"
                  },
                  "userAgent": {
                    "type": "string"
                  }
                }
              },
              "stats": {
                "type": "object",
                "properties": {
                  "inputBodyLen": {
                    "type": "integer",
                    "example": 2000
                  },
                  "rebootCount": {
                    "type": "integer",
                    "example": 0
                  },
                  "restartCount": {
                    "type": "integer",
                    "example": 0
                  },
                  "resurrectCount": {
                    "type": "integer",
                    "example": 0
                  },
                  "computeUnits": {
                    "type": "integer",
                    "example": 0
                  }
                }
              },
              "options": {
                "type": "object",
                "properties": {
                  "build": {
                    "type": "string",
                    "example": "latest"
                  },
                  "timeoutSecs": {
                    "type": "integer",
                    "example": 300
                  },
                  "memoryMbytes": {
                    "type": "integer",
                    "example": 1024
                  },
                  "diskMbytes": {
                    "type": "integer",
                    "example": 2048
                  }
                }
              },
              "buildId": {
                "type": "string"
              },
              "defaultKeyValueStoreId": {
                "type": "string"
              },
              "defaultDatasetId": {
                "type": "string"
              },
              "defaultRequestQueueId": {
                "type": "string"
              },
              "buildNumber": {
                "type": "string",
                "example": "1.0.0"
              },
              "containerUrl": {
                "type": "string"
              },
              "usage": {
                "type": "object",
                "properties": {
                  "ACTOR_COMPUTE_UNITS": {
                    "type": "integer",
                    "example": 0
                  },
                  "DATASET_READS": {
                    "type": "integer",
                    "example": 0
                  },
                  "DATASET_WRITES": {
                    "type": "integer",
                    "example": 0
                  },
                  "KEY_VALUE_STORE_READS": {
                    "type": "integer",
                    "example": 0
                  },
                  "KEY_VALUE_STORE_WRITES": {
                    "type": "integer",
                    "example": 1
                  },
                  "KEY_VALUE_STORE_LISTS": {
                    "type": "integer",
                    "example": 0
                  },
                  "REQUEST_QUEUE_READS": {
                    "type": "integer",
                    "example": 0
                  },
                  "REQUEST_QUEUE_WRITES": {
                    "type": "integer",
                    "example": 0
                  },
                  "DATA_TRANSFER_INTERNAL_GBYTES": {
                    "type": "integer",
                    "example": 0
                  },
                  "DATA_TRANSFER_EXTERNAL_GBYTES": {
                    "type": "integer",
                    "example": 0
                  },
                  "PROXY_RESIDENTIAL_TRANSFER_GBYTES": {
                    "type": "integer",
                    "example": 0
                  },
                  "PROXY_SERPS": {
                    "type": "integer",
                    "example": 0
                  },
                  "PROXY_UNBLOCKER_UNITS": {
                    "type": "integer",
                    "example": 0
                  }
                }
              },
              "usageTotalUsd": {
                "type": "number",
                "example": 0.00005
              },
              "usageUsd": {
                "type": "object",
                "properties": {
                  "ACTOR_COMPUTE_UNITS": {
                    "type": "integer",
                    "example": 0
                  },
                  "DATASET_READS": {
                    "type": "integer",
                    "example": 0
                  },
                  "DATASET_WRITES": {
                    "type": "integer",
                    "example": 0
                  },
                  "KEY_VALUE_STORE_READS": {
                    "type": "integer",
                    "example": 0
                  },
                  "KEY_VALUE_STORE_WRITES": {
                    "type": "number",
                    "example": 0.00005
                  },
                  "KEY_VALUE_STORE_LISTS": {
                    "type": "integer",
                    "example": 0
                  },
                  "REQUEST_QUEUE_READS": {
                    "type": "integer",
                    "example": 0
                  },
                  "REQUEST_QUEUE_WRITES": {
                    "type": "integer",
                    "example": 0
                  },
                  "DATA_TRANSFER_INTERNAL_GBYTES": {
                    "type": "integer",
                    "example": 0
                  },
                  "DATA_TRANSFER_EXTERNAL_GBYTES": {
                    "type": "integer",
                    "example": 0
                  },
                  "PROXY_RESIDENTIAL_TRANSFER_GBYTES": {
                    "type": "integer",
                    "example": 0
                  },
                  "PROXY_SERPS": {
                    "type": "integer",
                    "example": 0
                  },
                  "PROXY_UNBLOCKER_UNITS": {
                    "type": "integer",
                    "example": 0
                  }
                }
              }
            }
          }
        }
      }
    }
  }
}