{
  "openapi": "3.0.1",
  "info": {
    "title": "Oechsle Peru Product Price & Stock Scraper",
    "description": "Scrape Oechsle Peru department store products by keyword or category. Extract price, list price, discount, stock, EAN, brand, seller and installments in Peruvian soles. Export to JSON, CSV or Excel.",
    "version": "0.1",
    "x-build-id": "XcXVAvOLMPilYLVwp"
  },
  "servers": [
    {
      "url": "https://api.apify.com/v2"
    }
  ],
  "paths": {
    "/acts/scrapers_lat~oechsle-scraper/run-sync-get-dataset-items": {
      "post": {
        "operationId": "run-sync-get-dataset-items-scrapers_lat-oechsle-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/scrapers_lat~oechsle-scraper/runs": {
      "post": {
        "operationId": "runs-sync-scrapers_lat-oechsle-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/scrapers_lat~oechsle-scraper/run-sync": {
      "post": {
        "operationId": "run-sync-scrapers_lat-oechsle-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": {
          "maxItems": {
            "title": "Max Items",
            "minimum": 1,
            "maximum": 1000000,
            "type": "integer",
            "description": "Maximum number of product offers to collect across all searches and categories. Each available SKU and seller is one record. Optional."
          },
          "withDetails": {
            "title": "Include product details",
            "type": "boolean",
            "description": "When enabled, each record also includes the product description and a specifications object (technical attributes such as model, color, warranty and dimensions).",
            "default": true
          },
          "searchTerms": {
            "title": "Search Terms",
            "type": "array",
            "description": "Full-text queries to search the Oechsle catalog (e.g. \"televisor\", \"zapatillas\", \"laptop\"). Each term runs as a separate VTEX search. Leave empty to use Categories or a Start URL instead.",
            "items": {
              "type": "string"
            }
          },
          "categories": {
            "title": "Categories",
            "type": "array",
            "description": "Restrict results to one or more Oechsle departments. Each maps to the VTEX fq=C: filter.",
            "items": {
              "type": "string",
              "enum": [
                "160",
                "161",
                "374",
                "1223006",
                "504",
                "9",
                "100",
                "8",
                "143",
                "301",
                "11",
                "1222515",
                "2746625",
                "2746669",
                "2746376",
                "2746781",
                "2746765",
                "2746037",
                "1222568"
              ],
              "enumTitles": [
                "Tecnologia (Technology)",
                "Electrohogar (Home Appliances)",
                "Zapatos (Shoes)",
                "Zapatillas (Sneakers)",
                "Moda (Fashion)",
                "Deportes (Sports)",
                "Muebles (Furniture)",
                "Dormitorio (Bedroom)",
                "Decohogar (Home Decor)",
                "Belleza y Accesorios (Beauty & Accessories)",
                "Infantil (Kids)",
                "Supermercado (Supermarket)",
                "Jugueteria (Toys)",
                "Zona Gamer (Gaming)",
                "Automotriz (Automotive)",
                "Mejoramiento del Hogar (Home Improvement)",
                "Salud y Bienestar (Health & Wellness)",
                "Mascotas (Pets)",
                "Libreria y oficina (Stationery & Office)"
              ]
            }
          },
          "startUrl": {
            "title": "Start URL",
            "type": "string",
            "description": "Advanced. A full VTEX catalog search URL whose query string (ft, fq, O, etc.) is used as-is, e.g. https://www.oechsle.pe/api/catalog_system/pub/products/search?ft=laptop&O=OrderByPriceASC . When set, its parameters take precedence."
          },
          "sortOrder": {
            "title": "Sort Order",
            "enum": [
              "",
              "OrderByPriceASC",
              "OrderByPriceDESC",
              "OrderByTopSaleDESC",
              "OrderByReviewRateDESC",
              "OrderByNameASC",
              "OrderByNameDESC",
              "OrderByReleaseDateDESC",
              "OrderByBestDiscountDESC"
            ],
            "type": "string",
            "description": "Order in which the catalog returns products. Maps to the VTEX O parameter.",
            "default": ""
          },
          "proxyConfiguration": {
            "title": "Proxy Configuration",
            "type": "object",
            "description": "Proxy settings. The Oechsle VTEX catalog API has no anti-bot protection and works from datacenter IPs, so a proxy is optional. If you ever see geo-blocking, enable Apify Proxy with Peru residential IPs.",
            "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
                  }
                }
              }
            }
          }
        }
      }
    }
  }
}