{
  "openapi": "3.0.1",
  "info": {
    "title": "Shopee Brasil Scraper — Produtos, Preços, Vendidos e Lojas",
    "description": "Veja preço, desconto e reputação da loja de cada produto da Shopee Brasil. Busque por palavra-chave ou URL de loja e receba preço (marcando quando é no Pix), nota, cidade de envio, loja com nota e avaliações e vendidos com período quando a Shopee publica. Sem login. Pague por resultado.",
    "version": "0.0",
    "x-build-id": "AYgZ6g281YnXDnhMK"
  },
  "servers": [
    {
      "url": "https://api.apify.com/v2"
    }
  ],
  "paths": {
    "/acts/paulovitor18~shopee-brasil-produtos/run-sync-get-dataset-items": {
      "post": {
        "operationId": "run-sync-get-dataset-items-paulovitor18-shopee-brasil-produtos",
        "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/paulovitor18~shopee-brasil-produtos/runs": {
      "post": {
        "operationId": "runs-sync-paulovitor18-shopee-brasil-produtos",
        "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/paulovitor18~shopee-brasil-produtos/run-sync": {
      "post": {
        "operationId": "run-sync-paulovitor18-shopee-brasil-produtos",
        "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": {
          "palavrasChave": {
            "title": "Palavras-chave",
            "type": "array",
            "description": "Termos buscados na shopee.com.br, um por linha (ex.: air fryer). Produto repetido entre páginas ou entre buscas sai uma vez só.",
            "default": [],
            "items": {
              "type": "string"
            }
          },
          "urls": {
            "title": "URLs da Shopee Brasil",
            "type": "array",
            "description": "URLs de busca (https://shopee.com.br/search?keyword=...), de loja (https://shopee.com.br/shop/<id>, lista a vitrine da loja) ou de produto (entrega só aquele produto). URL de outro site é recusada sem consulta e sem cobrança.",
            "default": [],
            "items": {
              "type": "string"
            }
          },
          "maxItensPorBusca": {
            "title": "Máximo de produtos por busca ou loja",
            "minimum": 1,
            "maximum": 500,
            "type": "integer",
            "description": "Produtos únicos por palavra-chave ou loja pedida. Volume medido em 14/09/2026: com as 6 ordenações e 3 páginas cada, 251 a 338 produtos únicos por termo; só com relevância e até 10 páginas, 64 a 138. A busca para assim que atinge este máximo.",
            "default": 50
          },
          "maxPaginasPorBusca": {
            "title": "Máximo de páginas por busca",
            "minimum": 1,
            "maximum": 10,
            "type": "integer",
            "description": "Páginas por ordenação (cada página traz até 40 cards). Dentro de uma ordenação, a busca passa para a próxima quando uma página traz menos de 5 produtos novos, porque a Shopee passa a repetir.",
            "default": 5
          },
          "ordenacoes": {
            "title": "Ordenações da busca",
            "type": "array",
            "description": "A Shopee devolve produtos diferentes em cada ordenação; o actor percorre na ordem abaixo, sem repetir produto, só até completar o máximo por busca. Volume medido em 14/09/2026: com as 6 ordenações e 3 páginas cada, 251 a 338 produtos únicos por termo; só com relevância e até 10 páginas, 64 a 138.",
            "items": {
              "type": "string",
              "enum": [
                "relevancia",
                "mais_vendidos",
                "populares",
                "mais_recentes",
                "menor_preco",
                "maior_preco"
              ],
              "enumTitles": [
                "Relevância",
                "Mais vendidos",
                "Populares",
                "Mais recentes",
                "Menor preço",
                "Maior preço"
              ]
            },
            "default": [
              "relevancia",
              "mais_vendidos",
              "populares",
              "mais_recentes",
              "menor_preco",
              "maior_preco"
            ]
          },
          "enriquecerLoja": {
            "title": "Consultar a loja de cada produto",
            "type": "boolean",
            "description": "Anexa nome, nota e número de avaliações da loja, e vendidos quando o produto está entre os destaques dela. Cobra o evento loja_enriquecida 1 vez por loja resolvida com nota e avaliações e anexada a um produto entregue. Custa 1 a 2 páginas por loja nova (lojas repetidas saem do cache). Desligue para receber só os dados do produto.",
            "default": true
          },
          "maxLojas": {
            "title": "Máximo de lojas consultadas por execução",
            "minimum": 0,
            "maximum": 500,
            "type": "integer",
            "description": "Teto de lojas novas consultadas para enriquecer produtos de busca. 40 cobre uma busca de 50 produtos (cerca de 35 lojas distintas). Produto de loja além do limite sai com os campos de loja nulos e o motivo. Lojas pedidas por URL não contam neste limite.",
            "default": 40
          },
          "proxyGrupo": {
            "title": "Proxy",
            "enum": [
              "DATACENTER",
              "RESIDENTIAL"
            ],
            "type": "string",
            "description": "DATACENTER funcionou sem bloqueio nas medições. RESIDENTIAL (Brasil) é mais lento e fica como alternativa.",
            "default": "DATACENTER"
          },
          "reservaResidencial": {
            "title": "Última tentativa pelo proxy residencial",
            "type": "boolean",
            "description": "Se uma página for bloqueada em todas as tentativas por datacenter, tenta mais uma vez por um IP residencial do Brasil antes de desistir.",
            "default": true
          },
          "tentativas": {
            "title": "Tentativas por página",
            "minimum": 1,
            "maximum": 5,
            "type": "integer",
            "description": "Em bloqueio ou erro de rede a página é pedida de novo com outro IP, com espera crescente (1,5 s, 3 s, 6 s).",
            "default": 3
          },
          "timeoutMs": {
            "title": "Timeout por página (ms)",
            "minimum": 3000,
            "maximum": 60000,
            "type": "integer",
            "description": "Limite por requisição (cabeçalho e corpo).",
            "default": 30000
          },
          "salvarHtmlBruto": {
            "title": "Salvar HTML bruto (diagnóstico)",
            "type": "boolean",
            "description": "Grava cada página baixada no key-value store da execução.",
            "default": 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
                  }
                }
              }
            }
          }
        }
      }
    }
  }
}