// docs

Zapimoveis PDP

Extrai dados detalhados de um anúncio de imóvel do Zapimoveis.

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": "zapimoveis.com.br",
  "type": "pdp",
  "url": "https://www.zapimoveis.com.br/imovel/aluguel-apartamento-4-quartos-com-piscina-agua-verde-curitiba-pr-158m2-id-2795564422/"
}'

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

zapimoveis_com_br_pdp

Auth

Bearer ou X-API-Key

zapimoveis_com_br_pdp tools/call
{
  "jsonrpc": "2.0",
  "id": 3,
  "method": "tools/call",
  "params": {
    "name": "zapimoveis_com_br_pdp",
    "arguments": {
      "url": "https://www.zapimoveis.com.br/imovel/aluguel-apartamento-4-quartos-com-piscina-agua-verde-curitiba-pr-158m2-id-2795564422/",
      "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) Obrigatório URL do anúncio no domínio zapimoveis.com.br. - https://www.mercadolivre.com.br/p/MLB123456
target
Fonte alvo da extração.
enum Obrigatório Sempre obrigatorio e deve ser zapimoveis.com.br. - mercadolivre.com.br
type
Tipo da extração: pdp, idp, plp, quote, review ou places.
enum Obrigatório Sempre obrigatorio e deve ser pdp. - pdp

Exemplos de request

PDP por URL

Envie a URL pública do anúncio no Zapimoveis. O worker valida o domínio e extrai o listingId da URL.

PDP por URL
{
  "target": "zapimoveis.com.br",
  "type": "pdp",
  "url": "https://www.zapimoveis.com.br/imovel/aluguel-apartamento-4-quartos-com-piscina-agua-verde-curitiba-pr-158m2-id-2795564422/"
}

Schema de response (leaf paths)

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

responseSchema
{
  "requestId": "string (uuid)",
  "executionId": "string (uuid)",
  "notFound": "boolean (optional; true when the upstream entity was not found and data is null)",
  "data.source": "string",
  "data.type": "string",
  "data.parser": "string",
  "data.requestUrl": "string",
  "data.extractedAt": "string (iso datetime)",
  "data.data.url": "string",
  "data.data.listingId": "string",
  "data.data.listingExternalId": "string",
  "data.data.businessType": "string",
  "data.data.listingType": "string",
  "data.data.title": "string",
  "data.data.metaTitle": "string",
  "data.data.description": "string",
  "data.data.formattedAddress": "string",
  "data.data.publicationType": "string",
  "data.data.virtualTourUrl": "string",
  "data.data.createdAt": "string",
  "data.data.updatedAt": "string",
  "data.data.prices.price": "number",
  "data.data.prices.monthlyCondoFee": "number",
  "data.data.prices.iptu": "number",
  "data.data.prices.rentalPeriod": "string",
  "data.data.prices.rentalWarranties[]": "string",
  "data.data.address.street": "string",
  "data.data.address.neighborhood": "string",
  "data.data.address.city": "string",
  "data.data.address.stateAcronym": "string",
  "data.data.address.zipCode": "string",
  "data.data.address.latitude": "number",
  "data.data.address.longitude": "number",
  "data.data.advertiser.id": "string",
  "data.data.advertiser.name": "string",
  "data.data.advertiser.mainPhone": "string",
  "data.data.advertiser.phoneNumbers[]": "string",
  "data.data.advertiser.whatsAppNumber": "string | null",
  "data.data.advertiser.creci": "string",
  "data.data.advertiser.createdDate": "string | null",
  "data.data.advertiser.listingsCount": "number | null",
  "data.data.advertiser.filteredListingsCount": "number | null",
  "data.data.advertiser.imobiUrl": "string | null",
  "data.data.advertiser.profilePageId": "string | null",
  "data.data.advertiser.tier": "string | null",
  "data.data.advertiser.logoUrl": "string | null",
  "data.data.advertiser.coverUrl": "string | null",
  "data.data.advertiser.coverMobileUrl": "string | null",
  "data.data.advertiser.isVerified": "boolean",
  "data.data.advertiser.hasVirtualAssistant": "boolean | null",
  "data.data.advertiser.hasOfficialStore": "boolean | null",
  "data.data.advertiser.description": "string | null",
  "data.data.advertiser.address.street": "string | null",
  "data.data.advertiser.address.streetNumber": "string | null",
  "data.data.advertiser.address.neighborhood": "string | null",
  "data.data.advertiser.address.city": "string | null",
  "data.data.advertiser.address.state": "string | null",
  "data.data.advertiser.address.stateAcronym": "string | null",
  "data.data.advertiser.address.zipCode": "string | null",
  "data.data.advertiser.address.country": "string | null",
  "data.data.advertiser.address.formattedAddress": "string | null",
  "data.data.advertiser.rating.score": "number | null",
  "data.data.advertiser.rating.totalRatings": "number | null",
  "data.data.advertiser.rating.totalFeedbacks": "number | null",
  "data.data.advertiser.rating.isVisible": "boolean | null",
  "data.data.advertiser.socialLinks.facebook": "string | null",
  "data.data.advertiser.socialLinks.instagram": "string | null",
  "data.data.advertiser.stamps[]": "string",
  "data.data.amenities[]": "string",
  "data.data.mainAmenities[]": "string",
  "data.data.infoTags[]": "string",
  "data.data.images[].url": "string"
}

Exemplo de response

responseExample
{
  "requestId": "b2f9c6b6-56da-4be1-b2f2-4ed0f3b2f001",
  "executionId": "b2f9c6b6-56da-4be1-b2f2-4ed0f3b2f002",
  "data": {
    "source": "zapimoveis.com.br",
    "type": "pdp",
    "parser": "next_flight",
    "requestUrl": "https://www.zapimoveis.com.br/imovel/aluguel-apartamento-4-quartos-com-piscina-agua-verde-curitiba-pr-158m2-id-2795564422/",
    "extractedAt": "2026-02-19T13:10:00.000Z",
    "data": {
      "url": "https://www.zapimoveis.com.br/imovel/aluguel-apartamento-4-quartos-com-piscina-agua-verde-curitiba-pr-158m2-id-2795564422/",
      "listingId": "2795564422",
      "listingExternalId": "2795564422",
      "businessType": "RENTAL",
      "listingType": "USED",
      "title": "Apartamento com 2 quartos e sacada no Centro",
      "metaTitle": "Apartamento a venda no Centro, Curitiba - PR",
      "description": "Imóvel reformado, próximo ao shopping e com vaga coberta.",
      "formattedAddress": "Rua Marechal Deodoro, Centro, Curitiba - PR",
      "publicationType": "PREMIUM",
      "virtualTourUrl": "https://tour.exemplo.com/imovel/2670123456",
      "createdAt": "2026-01-14T10:30:00.000Z",
      "updatedAt": "2026-02-18T18:42:00.000Z",
      "prices": {
        "price": 549000,
        "monthlyCondoFee": 580,
        "iptu": 190,
        "rentalPeriod": "MONTHLY",
        "rentalWarranties": [
          "fiador"
        ]
      },
      "address": {
        "street": "Rua Marechal Deodoro",
        "neighborhood": "Centro",
        "city": "Curitiba",
        "stateAcronym": "PR",
        "zipCode": "80020000",
        "latitude": -25.4296,
        "longitude": -49.2713
      },
      "advertiser": {
        "id": "55123",
        "name": "Imobiliaria Exemplo",
        "mainPhone": "4130001000",
        "phoneNumbers": [
          "4130001000"
        ],
        "whatsAppNumber": "41987654321",
        "creci": "J-12345-PR",
        "createdDate": "2020-02-10T18:15:57Z",
        "listingsCount": 169,
        "filteredListingsCount": 169,
        "imobiUrl": "https://www.zapimoveis.com.br/imobiliaria/179386/",
        "profilePageId": "179386",
        "tier": "standard",
        "logoUrl": "https://resizedimgs.zapimoveis.com.br/img/os/logo/imagem.webp?action=fit-in&dimension=900x900",
        "coverUrl": "https://resizedimgs.zapimoveis.com.br/img/os/cover/imagem.webp?action=fit-in&dimension=900x900",
        "coverMobileUrl": "https://resizedimgs.zapimoveis.com.br/img/os/cover-mobile/imagem.webp?action=fit-in&dimension=900x900",
        "isVerified": true,
        "hasVirtualAssistant": false,
        "hasOfficialStore": true,
        "description": "Atendimento especializado em compra, venda e locacao de imoveis residenciais em Jaguariuna e regiao.",
        "address": {
          "street": "Rua Oito",
          "streetNumber": "30",
          "neighborhood": "Jardim Europa",
          "city": "Jaguariuna",
          "state": "SP",
          "stateAcronym": "SP",
          "zipCode": "13912426",
          "country": "Brasil",
          "formattedAddress": "Rua Oito, 30, Jardim Europa, Jaguariuna, SP, 13912426"
        },
        "rating": {
          "score": 4.5,
          "totalRatings": 2,
          "totalFeedbacks": 3,
          "isVisible": true
        },
        "socialLinks": {
          "facebook": "https://www.facebook.com/docelarjaguariuna",
          "instagram": "https://www.instagram.com/docelarjaguariuna"
        },
        "stamps": [
          "quality",
          "premium"
        ]
      },
      "amenities": [
        "Elevador"
      ],
      "mainAmenities": [
        "Sacada"
      ],
      "infoTags": [
        "Aceita financiamento"
      ],
      "images": [
        {
          "url": "https://resizedimgs.vivareal.com/{action}/{width}x{height}/vr.images.sp/e7d3cb8f500f42f4b95f316643e2b235.webp"
        }
      ]
    }
  }
}

Referência completa de campos

Path Tipo Descrição Exemplo
data.data.address.city string Cidade do imóvel. Curitiba
data.data.address.latitude number Latitude do imóvel. -25.4296
data.data.address.longitude number Longitude do imóvel. -49.2713
data.data.address.neighborhood string Bairro do imóvel. Centro
data.data.address.stateAcronym string UF do imóvel. PR
data.data.address.street string Rua do imóvel. Rua Marechal Deodoro
data.data.address.zipCode string CEP do imóvel. 80020000
data.data.advertiser.address.city string | null Cidade da sede/comercial da imobiliaria. Jaguariuna
data.data.advertiser.address.country string | null Pais da sede/comercial da imobiliaria. Brasil
data.data.advertiser.address.formattedAddress string | null Endereço formatado da imobiliaria. Rua Oito, 30, Jardim Europa, Jaguariuna, SP, 13912426
data.data.advertiser.address.neighborhood string | null Bairro da sede/comercial da imobiliaria. Jardim Europa
data.data.advertiser.address.state string | null Estado/UF da sede/comercial da imobiliaria. SP
data.data.advertiser.address.stateAcronym string | null UF normalizada da sede/comercial da imobiliaria. SP
data.data.advertiser.address.street string | null Rua da sede/comercial da imobiliaria. Rua Oito
data.data.advertiser.address.streetNumber string | null Numero da sede/comercial da imobiliaria. 30
data.data.advertiser.address.zipCode string | null CEP da sede/comercial da imobiliaria. 13912426
data.data.advertiser.coverMobileUrl string | null Imagem de capa mobile da pagina da imobiliaria. https://resizedimgs.zapimoveis.com.br/img/os/cover-mobile/imagem.webp?action=fit-in&dimension=900x900
data.data.advertiser.coverUrl string | null Imagem de capa desktop da pagina da imobiliaria. https://resizedimgs.zapimoveis.com.br/img/os/cover/imagem.webp?action=fit-in&dimension=900x900
data.data.advertiser.createdDate string | null Data de cadastro da imobiliaria no Zapimoveis. 2020-02-10T18:15:57Z
data.data.advertiser.creci string Registro CRECI do anunciante. J-12345-PR
data.data.advertiser.description string | null Descrição institucional publicada na pagina da imobiliaria. Atendimento especializado em compra, venda e locacao de imoveis residenciais em Jaguariuna e regiao.
data.data.advertiser.filteredListingsCount number | null Quantidade de anuncios retornados no recorte atual da pagina da imobiliaria, quando informada. 169
data.data.advertiser.hasOfficialStore boolean | null Indica se a imobiliaria possui pagina oficial/official store no Zapimoveis. true
data.data.advertiser.hasVirtualAssistant boolean | null Indica se a imobiliaria usa assistente virtual no fluxo de contato. false
data.data.advertiser.id string Identificador do anunciante. 55123
data.data.advertiser.imobiUrl string | null URL absoluta da pagina da imobiliaria no Zapimoveis. https://www.zapimoveis.com.br/imobiliaria/179386/
data.data.advertiser.isVerified boolean Flag de verificação do anunciante. true
data.data.advertiser.listingsCount number | null Quantidade total de anuncios publicados pela imobiliaria. 169
data.data.advertiser.logoUrl string | null Logo principal da imobiliaria. https://resizedimgs.zapimoveis.com.br/img/os/logo/imagem.webp?action=fit-in&dimension=900x900
data.data.advertiser.mainPhone string Telefone principal do anunciante. 4130001000
data.data.advertiser.name string Nome do anunciante. Imobiliaria Exemplo
data.data.advertiser.phoneNumbers[] string Lista de telefones do anunciante. 4130001000
data.data.advertiser.profilePageId string | null Identificador numerico presente na URL da pagina da imobiliaria. 179386
data.data.advertiser.rating.isVisible boolean | null Flag de visibilidade da nota agregada no payload do Zapimoveis. true
data.data.advertiser.rating.score number | null Nota agregada da imobiliaria, quando disponivel. 4.5
data.data.advertiser.rating.totalFeedbacks number | null Quantidade total de feedbacks/avaliacoes informada na pagina da imobiliaria. 3
data.data.advertiser.rating.totalRatings number | null Quantidade de ratings recebidos pela imobiliaria. 2
data.data.advertiser.socialLinks.facebook string | null URL do Facebook da imobiliaria, quando disponivel. https://www.facebook.com/docelarjaguariuna
data.data.advertiser.socialLinks.instagram string | null URL do Instagram da imobiliaria, quando disponivel. https://www.instagram.com/docelarjaguariuna
data.data.advertiser.stamps[] string Selos/stamps exibidos no official store da imobiliaria. quality
data.data.advertiser.tier string | null Tier da imobiliaria retornado pelo payload da pagina da imobiliaria. standard
data.data.advertiser.whatsAppNumber string | null WhatsApp comercial da imobiliaria, quando publicado na pagina da imobiliaria. 41987654321
data.data.amenities[] string Amenidades do imóvel. Elevador
data.data.businessType string Tipo de negócio do anúncio. RENTAL
data.data.createdAt string Data de criação do anúncio. 2026-01-14T10:30:00.000Z
data.data.description string Descrição textual do imóvel. Imóvel reformado, próximo ao shopping e com vaga coberta.
data.data.formattedAddress string Endereço formatado apresentado na página. Rua Marechal Deodoro, Centro, Curitiba - PR
data.data.images[].url string URL das imagens do anúncio. https://resizedimgs.vivareal.com/{action}/{width}x{height}/vr.images.sp/e7d3cb8f500f42f4b95f316643e2b235.webp
data.data.infoTags[] string Tags informativas do anúncio. Aceita financiamento
data.data.listingExternalId string Identificador externo do anúncio. 2795564422
data.data.listingId string Identificador do anúncio. 2795564422
data.data.listingType string Tipo da listagem. USED
data.data.mainAmenities[] string Amenidades destacadas. Sacada
data.data.metaTitle string Título SEO da página. Apartamento a venda no Centro, Curitiba - PR
data.data.prices.iptu number Valor de IPTU informado. 190
data.data.prices.monthlyCondoFee number Valor de condomínio mensal. 580
data.data.prices.price number Preço principal do anúncio. 549000
data.data.prices.rentalPeriod string Periodicidade da locação. MONTHLY
data.data.prices.rentalWarranties[] string Garantias de locação aceitas. fiador
data.data.publicationType string Tipo de publicação do anúncio. PREMIUM
data.data.title string Título principal do anúncio. Apartamento com 2 quartos e sacada no Centro
data.data.updatedAt string Data de atualização do anúncio. 2026-02-18T18:42:00.000Z
data.data.url string URL pública do anúncio. https://www.zapimoveis.com.br/imovel/aluguel-apartamento-4-quartos-com-piscina-agua-verde-curitiba-pr-158m2-id-2795564422/
data.data.virtualTourUrl string Link de tour virtual, quando disponível. https://tour.exemplo.com/imovel/2670123456
data.extractedAt string (iso datetime) Timestamp UTC da extração. 2026-02-19T13:10:00.000Z
data.parser string Parser utilizado para extrair os dados (next_flight ou jsonld). next_flight
data.requestUrl string URL efetivamente consultada no upstream. https://www.zapimoveis.com.br/imovel/aluguel-apartamento-4-quartos-com-piscina-agua-verde-curitiba-pr-158m2-id-2795564422/
data.source string Fonte da extração. zapimoveis.com.br
data.type string Tipo de extração. pdp
executionId string (uuid) Campo executionId retornado no payload de resposta. b2f9c6b6-56da-4be1-b2f2-4ed0f3b2f002
notFound boolean (optional; true when the upstream entity was not found and data is null) Present and true when the upstream entity was not found. In this case data is null and the request still completes successfully. N/A
requestId string (uuid) Campo requestId retornado no payload de resposta. b2f9c6b6-56da-4be1-b2f2-4ed0f3b2f001

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.