// docs

Temu PLP

Extrai resultados de busca/listagem (PLP) da Temu via fluxo app off-phone. Custo: 5 créditos por request.

Nota importante: alguns campos podem retornar null em produção, dependendo da página de origem. Nesta documentação, os exemplos de output são preenchidos intencionalmente com valores não nulos para facilitar integração.

Quando a entidade consultada não existe na origem, o extract e a tool MCP retornam 200 com data: null e notFound: true. Esse caso é tratado como resposta concluída, não como erro de servidor.

Chamada HTTP

cURL
curl -X POST https://api.geckoapi.com.br/v1/extract \
  -H "Authorization: Bearer SUA_CHAVE" \
  -H "Content-Type: application/json" \
  -d '{
  "target": "temu.com",
  "type": "plp",
  "keyword": "capa de iphone",
  "page": 1
}'

Chamada MCP

A mesma seam também aparece no MCP hospedado como uma tool dedicada. Os argumentos reaproveitam os campos do extract, mas target e type já ficam fixos pela tool.

Ver guia completo do MCP

Endpoint

POST /v1/mcp

Tool name

temu_com_plp

Auth

Bearer ou X-API-Key

temu_com_plp tools/call
{
  "jsonrpc": "2.0",
  "id": 3,
  "method": "tools/call",
  "params": {
    "name": "temu_com_plp",
    "arguments": {
      "keyword": "capa de iphone",
      "page": 1,
      "executionId": "exec_example_123"
    }
  }
}

Possibilidades de input

Campos suportados nesta API do POST /v1/extract, com regras específicas de obrigatoriedade e condicionais.

Campo Tipo Status Regra Default Exemplo
url
URL alvo da extração. Para alguns PLPs pode ser omitida quando a API monta a URL a partir de outros campos.
string (URL) Opcional Aceita URLs temu.com de search_result.html com search_key. Se ausente, keyword é usada para montar a URL canônica. - https://www.mercadolivre.com.br/p/MLB123456
keyword
Palavra-chave para buscas PLP. Em Google Search ela representa a query enviada ao Google; em Booking PLP é obrigatória; em outros PLPs pode substituir a URL.
string Condicional Obrigatório quando url não for enviado. - iphone 15 pro max
region
Regiao textual para buscas OLX PLP (ex.: Regiao de Bauru e Marilia).
string Opcional Região Temu. Default: br. br Regiao de Bauru e Marilia
page
Paginacao. Em PLP inicia em 1; em review (MercadoLivre, Booking e Hoteis) inicia em 0.
integer Opcional Página de resultados. Default: 1. 1 2

Exemplos de request

PLP por keyword

Consulta a primeira página de busca da Temu para uma keyword.

PLP por keyword
{
  "target": "temu.com",
  "type": "plp",
  "keyword": "capa de iphone",
  "page": 1
}

PLP por URL de busca

Também aceita uma URL de busca da Temu com search_key.

PLP por URL de busca
{
  "target": "temu.com",
  "type": "plp",
  "url": "https://www.temu.com/br/search_result.html?search_key=capa+de+iphone&search_method=user"
}

Schema de response (leaf paths)

Mapa de paths de saída com tipo esperado para esta API.

responseSchema
{
  "source": "string",
  "type": "string",
  "url": "string",
  "requestUrl": "string",
  "extractedAt": "string",
  "query": "string | null",
  "region": "string",
  "totalResults": "number | null",
  "primaryResults": "number",
  "page": "number",
  "resultsPerPage": "number",
  "offset": "number",
  "hasMore": "boolean | null",
  "nextPage": "number | null",
  "nextPageUrl": "string | null",
  "items": "TemuPlpItem[]"
}

Exemplo de response

responseExample
{
  "source": "temu.com",
  "type": "plp",
  "url": "https://www.temu.com/br/search_result.html?search_key=capa+de+iphone&search_method=user",
  "requestUrl": "https://br.temu.com/api/poppy/v1/search?scene=search",
  "extractedAt": "2026-05-18T12:00:00.000Z",
  "query": "capa de iphone",
  "region": "br",
  "totalResults": 128,
  "primaryResults": 2,
  "page": 1,
  "resultsPerPage": 20,
  "offset": 0,
  "hasMore": true,
  "nextPage": 2,
  "nextPageUrl": "https://www.temu.com/br/search_result.html?search_key=capa+de+iphone&search_method=user&page=2",
  "items": [
    {
      "position": 1,
      "url": "https://www.temu.com/goods.html?goods_id=601099588578152",
      "sku": "601099588578152",
      "productId": "601099588578152",
      "name": "Capinha magnética para iPhone 15 Pro Max",
      "currency": "BRL",
      "currencyRaw": "R$",
      "price": 23.99,
      "priceDisplay": "R$23,99",
      "regularPrice": 49.99,
      "regularPriceDisplay": "R$49,99",
      "prices": {
        "price": 2399,
        "price_str": "R$23,99"
      },
      "soldQuantity": 1500,
      "soldQuantityText": "1.5K+ vendidos",
      "aggregateRating": {
        "rating": 4.8,
        "reviewCount": 231
      },
      "thumbnail": "https://img.kwcdn.com/product/fancy/case.jpg",
      "images": [
        {
          "url": "https://img.kwcdn.com/product/fancy/case.jpg"
        }
      ],
      "sponsored": false
    }
  ]
}

Referência completa de campos

Path Tipo Descrição Exemplo
extractedAt string Timestamp ISO-8601 da extração. 2026-05-18T12:00:00.000Z
hasMore boolean | null Indica se a Temu informou haver mais resultados. true
items TemuPlpItem[] Lista normalizada de produtos encontrados na busca. [{"position":1,"url":"https://www.temu.com/goods.html?goods_id=601099588578152","sku":"601099588578152","productId":"601099588578152","name":"Capinha magnética para iPhone 15 Pro Max","currency":"BRL","currencyRaw":"R$","price":23.99,"priceDisplay":"R$23,99","regularPrice":49.99,"regularPriceDisplay":"R$49,99","prices":{"price":2399,"price_str":"R$23,99"},"soldQuantity":1500,"soldQuantityText":"1.5K+ vendidos","aggregateRating":{"rating":4.8,"reviewCount":231},"thumbnail":"https://img.kwcdn.com/product/fancy/case.jpg","images":[{"url":"https://img.kwcdn.com/product/fancy/case.jpg"}],"sponsored":false}]
nextPage number | null Próxima página quando hasMore for verdadeiro. 2
nextPageUrl string | null URL canônica da próxima página quando disponível. https://www.temu.com/br/search_result.html?search_key=capa+de+iphone&search_method=user&page=2
offset number Offset upstream calculado a partir da página. 0
page number Página solicitada. 1
primaryResults number Quantidade de produtos normalizados nesta página. 2
query string | null Keyword pesquisada. capa de iphone
region string Região Temu usada no fluxo app. br
requestUrl string Endpoint upstream usado pelo worker para obter a lista. https://br.temu.com/api/poppy/v1/search?scene=search
resultsPerPage number Tamanho de página usado no request upstream. 20
source string Fonte da API. temu.com
totalResults number | null Total informado pela Temu quando disponível. 128
type string Tipo de seam extraído. plp
url string URL pública/canônica da busca solicitada. https://www.temu.com/br/search_result.html?search_key=capa+de+iphone&search_method=user

Erros comuns

Respostas com notFound: true não entram nesta tabela, porque retornam sucesso HTTP 200.

Status errorCode Quando acontece
400 INVALID_PAYLOAD JSON inválido ou violação das regras de validação do payload.
401 UNAUTHORIZED Header Authorization ausente ou token/chave inválida.
402 INSUFFICIENT_CREDITS Saldo de créditos insuficiente para a API solicitada.
403 FORBIDDEN Usuário sem acesso ou API temporariamente desabilitada.
409 EXECUTION_CONFLICT executionId conflita com uma execução em estado incompatível.
429 RATE_LIMIT_EXCEEDED / TOO_MANY_INFLIGHT_REQUESTS Limite de taxa ou limite de requisições em voo excedido.
5xx UPSTREAM_TIMEOUT / UPSTREAM_HTTP_ERROR / WORKER_INVOCATION_FAILED / WORKER_FUNCTION_ERROR / WORKER_INVALID_RESPONSE / INTERNAL_ERROR Falha de servidor no worker, provider/proxy ou gateway. Nesses casos os créditos são estornados automaticamente.