{
  "openapi": "3.0.1",
  "info": {
    "title": "Namshi, Extra, Nahdi & Centrepoint Scraper",
    "description": "Scrape product names, prices, stock and sellers from 8 Gulf online stores: Namshi, Extra, Nahdi, Centrepoint, Home Centre, Babyshop, Splash and Max Fashion. 36 storefronts across Saudi Arabia, UAE, Qatar, Kuwait, Oman and Bahrain, English or Arabic, for price monitoring and competitor tracking.",
    "version": "0.1",
    "x-build-id": "mxYT6iVATEExMNogj"
  },
  "servers": [
    {
      "url": "https://api.apify.com/v2"
    }
  ],
  "paths": {
    "/acts/gulfprices~saudi-uae-marketplace-scraper/run-sync-get-dataset-items": {
      "post": {
        "operationId": "run-sync-get-dataset-items-gulfprices-saudi-uae-marketplace-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/gulfprices~saudi-uae-marketplace-scraper/runs": {
      "post": {
        "operationId": "runs-sync-gulfprices-saudi-uae-marketplace-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/gulfprices~saudi-uae-marketplace-scraper/run-sync": {
      "post": {
        "operationId": "run-sync-gulfprices-saudi-uae-marketplace-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",
        "required": [
          "source"
        ],
        "properties": {
          "source": {
            "title": "Store",
            "enum": [
              "babyshop-ae-en",
              "babyshop-ae-ar",
              "babyshop-sa-en",
              "babyshop-sa-ar",
              "centrepoint-ae-en",
              "centrepoint-ae-ar",
              "centrepoint-sa-en",
              "centrepoint-sa-ar",
              "extra-sa-en",
              "extra-sa-ar",
              "homecentre-ae-en",
              "homecentre-ae-ar",
              "homecentre-sa-en",
              "homecentre-sa-ar",
              "maxfashion-ae-en",
              "maxfashion-ae-ar",
              "maxfashion-sa-en",
              "maxfashion-sa-ar",
              "nahdi-sa-en",
              "nahdi-sa-ar",
              "namshi-ae-en",
              "namshi-ae-ar",
              "namshi-sa-en",
              "namshi-sa-ar",
              "namshi-qa-en",
              "namshi-qa-ar",
              "namshi-kw-en",
              "namshi-kw-ar",
              "namshi-om-en",
              "namshi-om-ar",
              "namshi-bh-en",
              "namshi-bh-ar",
              "splash-ae-en",
              "splash-ae-ar",
              "splash-sa-en",
              "splash-sa-ar"
            ],
            "type": "string",
            "description": "Which store to collect from. The country sets the currency and the catalogue; the language sets the product names. Entries marked \"needs regional proxy\" only serve their own country, so set Proxy under Advanced to Residential before running one.",
            "default": "extra-sa-en"
          },
          "startUrls": {
            "title": "Product URLs",
            "type": "array",
            "description": "Specific product pages to scrape. Leave this empty and the Actor will find products on its own.",
            "default": [],
            "items": {
              "type": "object",
              "required": [
                "url"
              ],
              "properties": {
                "url": {
                  "type": "string",
                  "title": "URL of a web page",
                  "format": "uri"
                }
              }
            }
          },
          "keyword": {
            "title": "Filter by keyword",
            "type": "string",
            "description": "Optional. Only collect products whose URL contains this word, for example dress, perfume or adidas. Works well for categories and brand names. Short words can match inside longer ones, so prefer a whole word. Ignored when you supply Product URLs."
          },
          "maxItems": {
            "title": "Max products",
            "minimum": 1,
            "maximum": 1000,
            "type": "integer",
            "description": "How many products to collect when the Actor is finding them itself. This does not limit Product URLs you supply, so paste as many as you like.",
            "default": 20
          },
          "minIntervalSeconds": {
            "title": "Delay between requests (seconds)",
            "minimum": 1,
            "maximum": 30,
            "type": "integer",
            "description": "Seconds to wait between requests. One is the default and was measured against these stores: 110 requests a second apart across Extra and Namshi produced no block, and none of the eight declares a Crawl-delay. Raise it if a run does start coming back blocked, which the run summary tells you.",
            "default": 1
          },
          "proxyConfiguration": {
            "title": "Proxy",
            "type": "object",
            "description": "The stores marked \"needs regional proxy\" only serve their own country: pick Residential and the country is chosen for you, or paste your own endpoint under Own proxies. Namshi, Extra and Nahdi need no proxy, and Residential is not offered for them. Google SERP and Unblocker are never supported.",
            "default": {
              "useApifyProxy": false
            }
          }
        }
      },
      "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
                  }
                }
              },
              "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
                  }
                }
              }
            }
          }
        }
      }
    }
  }
}