PDP por URL canonica do evento
Extrai o evento a partir da URL publica da pagina de evento.
{
"target": "sympla.com.br",
"type": "pdp",
"url": "https://www.sympla.com.br/evento/musical-de-pascoa-o-resgatador/3290352"
} // docs
Extrai pagina de evento do Sympla com metadados do evento, produtor, local e tickets agrupados sem browser rendering.
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.
curl -X POST https://api.geckoapi.com.br/v1/extract \
-H "Authorization: Bearer SUA_CHAVE" \
-H "Content-Type: application/json" \
-d '{
"target": "sympla.com.br",
"type": "pdp",
"url": "https://www.sympla.com.br/evento/musical-de-pascoa-o-resgatador/3290352"
}'
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.
Endpoint
POST /v1/mcp
Tool name
sympla_com_br_pdp
Auth
Bearer ou X-API-Key
{
"jsonrpc": "2.0",
"id": 3,
"method": "tools/call",
"params": {
"name": "sympla_com_br_pdp",
"arguments": {
"url": "https://www.sympla.com.br/evento/musical-de-pascoa-o-resgatador/3290352",
"executionId": "exec_example_123"
}
}
}
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 | Aceita URLs de evento em /evento/.../<id> e tambem URLs bileto em /event/<id>. | - | https://www.mercadolivre.com.br/p/MLB123456 |
| target Fonte alvo da extração. | enum | Obrigatório | Sempre obrigatorio e deve ser sympla.com.br. | - | mercadolivre.com.br |
| type Tipo da extração: pdp, idp, plp, review ou places. | enum | Obrigatório | Sempre obrigatorio e deve ser pdp. | - | pdp |
Extrai o evento a partir da URL publica da pagina de evento.
{
"target": "sympla.com.br",
"type": "pdp",
"url": "https://www.sympla.com.br/evento/musical-de-pascoa-o-resgatador/3290352"
} Tambem aceita a URL curta usada em alguns resultados de busca do Sympla.
{
"target": "sympla.com.br",
"type": "pdp",
"url": "https://bileto.sympla.com.br/event/117663"
} Mapa de paths de saída com tipo esperado para esta API.
{
"requestId": "string (uuid)",
"executionId": "string (uuid)",
"data.source": "string",
"data.type": "string",
"data.parser": "string",
"data.url": "string",
"data.requestUrl": "string",
"data.eventRequestUrl": "string",
"data.organizerRequestUrl": "string",
"data.ticketsRequestUrl": "string",
"data.extractedAt": "string (iso datetime)",
"data.id": "number",
"data.name": "string",
"data.slug": "string",
"data.logoUrl": "string",
"data.detailHtml": "string",
"data.description": "string",
"data.startDate": "string",
"data.endDate": "string",
"data.startDateLabel": "string",
"data.endDateLabel": "string",
"data.eventType": "string",
"data.eventSubType": "string",
"data.paymentEventType": "string",
"data.ticketsNomenclature": "string",
"data.hasInstallments": "boolean",
"data.showInstallmentsInfo": "boolean",
"data.hasActiveDiscounts": "boolean",
"data.hasCertificate": "boolean",
"data.ticketCount": "number",
"data.location.id": "number",
"data.location.name": "string",
"data.location.address": "string",
"data.location.addressNum": "string",
"data.location.addressAlt": "string",
"data.location.neighborhood": "string",
"data.location.city": "string",
"data.location.state": "string",
"data.location.zipCode": "string",
"data.location.country": "string",
"data.location.location": "string",
"data.location.latitude": "number",
"data.location.longitude": "number",
"data.category.id": "number",
"data.category.name": "string",
"data.category.slug": "string",
"data.category.description": "string",
"data.producer.id": "number",
"data.producer.organizerId": "number",
"data.producer.name": "string",
"data.producer.fantasyName": "string",
"data.producer.description": "string",
"data.producer.image": "string",
"data.producer.url": "string",
"data.producer.organizerPageSlug": "string",
"data.producer.documentType": "string",
"data.producer.document": "string",
"data.paymentOptions.creditCard": "boolean",
"data.paymentOptions.creditCardInternational": "boolean",
"data.paymentOptions.debit": "boolean",
"data.paymentOptions.boleto": "boolean",
"data.paymentOptions.applePay": "boolean",
"data.paymentOptions.paypal": "boolean",
"data.paymentOptions.pix": "boolean",
"data.paymentOptions.googlePay": "boolean",
"data.paymentOptions.nuPay": "boolean",
"data.paymentOptions.ifoodBeneficios": "boolean",
"data.paymentOptions.debitBanks[]": "string",
"data.policies[].type": "string",
"data.policies[].title": "string",
"data.policies[].description": "string",
"data.policies[].policyLinkLabel": "string",
"data.policies[].policyLink": "string",
"data.policies[].visible": "boolean",
"data.policies[].featureEnabled": "boolean",
"data.tickets[].id": "number",
"data.tickets[].name": "string",
"data.tickets[].description": "string",
"data.tickets[].availableQty": "number",
"data.tickets[].currentAvailableQty": "number",
"data.tickets[].minQty": "number",
"data.tickets[].maxQty": "number",
"data.tickets[].status": "string",
"data.tickets[].startDate": "string",
"data.tickets[].endDate": "string",
"data.tickets[].expirationTime": "string",
"data.tickets[].isPrivate": "boolean",
"data.tickets[].isFree": "boolean",
"data.tickets[].show": "boolean",
"data.tickets[].discountApplied": "boolean",
"data.tickets[].serviceFeeIncluded": "boolean",
"data.tickets[].salePrice": "number",
"data.tickets[].salePriceCents": "number",
"data.tickets[].salePriceWithDiscount": "number",
"data.tickets[].salePriceWithDiscountCents": "number",
"data.tickets[].netValue": "number",
"data.tickets[].netValueWithDiscount": "number",
"data.tickets[].fee": "number",
"data.tickets[].feeWithDiscount": "number",
"data.tickets[].showInstallmentsInfo": "boolean",
"data.tickets[].qtyInstallmentsAbsorvedByOrganizer": "number",
"data.tickets[].showOrder": "number",
"data.tickets[].installments[].installments": "number",
"data.tickets[].installments[].price": "number",
"data.tickets[].installments[].priceCents": "number",
"data.tickets[].senseOfUrgency.isLastTickets": "boolean",
"data.tickets[].senseOfUrgency.isTicketsFlyingTag": "boolean",
"data.tickets[].senseOfUrgency.isLastIndividualTicket": "boolean"
} {
"requestId": "req_01JQ4YQKAT4EF6YQ87TVW9S2T0",
"executionId": "exe_01JQ4YQKAT4EF6YQ87TVW9S2T1",
"data": {
"source": "sympla.com.br",
"type": "pdp",
"parser": "event_bff",
"url": "https://www.sympla.com.br/evento/musical-de-pascoa-o-resgatador/3290352",
"requestUrl": "https://www.sympla.com.br/evento/musical-de-pascoa-o-resgatador/3290352",
"eventRequestUrl": "https://event-page.svc.sympla.com.br/api/event-bff/purchase/event/3290352",
"organizerRequestUrl": "https://event-page.svc.sympla.com.br/api/event-bff/purchase/event/3290352/organizer",
"ticketsRequestUrl": "https://event-page.svc.sympla.com.br/api/event-bff/purchase/event/3290352/tickets/grouped",
"extractedAt": "2026-03-31T14:00:00.000Z",
"id": 3290352,
"name": "Musical de Pascoa o Resgatador",
"slug": "musical-de-pascoa-o-resgatador",
"logoUrl": "https://images.sympla.com.br/697a60eda2cdd.jpg",
"detailHtml": "<p>Espetaculo especial de Pascoa com entrada paga.</p>",
"description": "Espetaculo especial de Pascoa com entrada paga.",
"startDate": "2026-03-29 16:00:00",
"endDate": "2026-03-31 20:00:00",
"startDateLabel": "2026-03-29 16:00:00",
"endDateLabel": "2026-03-31 20:00:00",
"eventType": "NORMAL",
"eventSubType": "NORMAL",
"paymentEventType": "paid",
"ticketsNomenclature": "TICKETING",
"hasInstallments": true,
"showInstallmentsInfo": true,
"hasActiveDiscounts": true,
"hasCertificate": false,
"ticketCount": 1,
"location": {
"id": 740102,
"name": "IGREJA BATISTA ATITUDE",
"address": "Rua Sylvio da Rocha Pollis",
"addressNum": "751",
"addressAlt": "IGREJA",
"neighborhood": "Barra da Tijuca",
"city": "Rio de Janeiro",
"state": "RJ",
"zipCode": "22793-395",
"country": "BRASIL",
"location": "POINT(-23.007473 -43.432116)",
"latitude": -23.0074726,
"longitude": -43.4321162
},
"category": {
"id": 27,
"name": "musica",
"slug": "musica",
"description": "Musica"
},
"producer": {
"id": 615382,
"organizerId": 9229919,
"name": "INSTITUTO ASSISTENCIAL ATITUDE",
"fantasyName": "INSTITUTO ASSISTENCIAL ATITUDE",
"description": "Produtor responsavel pela realizacao do evento.",
"image": "https://images.sympla.com.br/producer-instituto-assistencial-atitude.jpg",
"url": "https://www.sympla.com.br/produtor/instituto-assistencial-atitude",
"organizerPageSlug": "instituto-assistencial-atitude",
"documentType": "CNPJ",
"document": "24.948.707/0001-92"
},
"paymentOptions": {
"creditCard": true,
"creditCardInternational": true,
"debit": false,
"boleto": false,
"applePay": true,
"paypal": false,
"pix": true,
"googlePay": false,
"nuPay": true,
"ifoodBeneficios": true,
"debitBanks": [
"itau"
]
},
"policies": [
{
"type": "PAID_ORDER_CANCELATION",
"title": "Cancelamento de pedidos pagos",
"description": "Cancelamentos de pedidos serao aceitos ate 7 dias apos a compra, desde que a solicitacao seja enviada ate 48 horas antes do inicio do evento.",
"policyLinkLabel": "Saiba mais sobre o cancelamento",
"policyLink": "https://ajuda.sympla.com.br/hc/pt-br/articles/6484108930580-Como-fa%C3%A7o-para-cancelar-meu-ingresso",
"visible": true,
"featureEnabled": true
}
],
"tickets": [
{
"id": 10008454,
"name": "31/03/2026 - 20h",
"description": "Ingresso inteiro para a sessao das 20h.",
"availableQty": 5,
"currentAvailableQty": 5,
"minQty": 1,
"maxQty": 5,
"status": "STARTED",
"startDate": "2026-01-28 15:40:00",
"endDate": "2026-03-31 20:00:00",
"expirationTime": "2026-03-31 20:00:00",
"isPrivate": false,
"isFree": false,
"show": true,
"discountApplied": false,
"serviceFeeIncluded": false,
"salePrice": 18.99,
"salePriceCents": 1899,
"salePriceWithDiscount": 18.99,
"salePriceWithDiscountCents": 1899,
"netValue": 15,
"netValueWithDiscount": 15,
"fee": 3.99,
"feeWithDiscount": 3.99,
"showInstallmentsInfo": true,
"qtyInstallmentsAbsorvedByOrganizer": 0,
"showOrder": 1,
"installments": [
{
"installments": 1,
"price": 18.99,
"priceCents": 1899
},
{
"installments": 2,
"price": 9.99,
"priceCents": 999
}
],
"senseOfUrgency": {
"isLastTickets": true,
"isTicketsFlyingTag": true,
"isLastIndividualTicket": true
}
}
]
}
} | Path | Tipo | Descrição | Exemplo |
|---|---|---|---|
| data.category.description | string | Descricao legivel da categoria. | Musica |
| data.category.id | number | ID da categoria do evento. | 27 |
| data.category.name | string | Nome da categoria. | musica |
| data.category.slug | string | Slug da categoria. | musica |
| data.description | string | Descricao textual do evento com HTML removido quando necessario. | Espetaculo especial de Pascoa com entrada paga. |
| data.detailHtml | string | HTML bruto da descricao do evento. | <p>Espetaculo especial de Pascoa com entrada paga.</p> |
| data.endDate | string | Data/hora final do evento conforme o upstream. | 2026-03-31 20:00:00 |
| data.endDateLabel | string | Representacao textual da data final. | 2026-03-31 20:00:00 |
| data.eventRequestUrl | string | Endpoint interno consultado para obter os metadados do evento. | https://event-page.svc.sympla.com.br/api/event-bff/purchase/event/3290352 |
| data.eventSubType | string | Subtipo de evento informado pelo Sympla. | NORMAL |
| data.eventType | string | Tipo de evento informado pelo Sympla. | NORMAL |
| data.extractedAt | string (iso datetime) | Timestamp UTC da extracao. | 2026-03-31T14:00:00.000Z |
| data.hasActiveDiscounts | boolean | Indica se existem descontos ativos no evento. | true |
| data.hasCertificate | boolean | Indica se o evento menciona certificado. | false |
| data.hasInstallments | boolean | Indica se o evento permite parcelamento. | true |
| data.id | number | ID numerico do evento no Sympla. | 3290352 |
| data.location.address | string | Logradouro do evento. | Rua Sylvio da Rocha Pollis |
| data.location.addressAlt | string | Complemento ou apelido do local. | IGREJA |
| data.location.addressNum | string | Numero do endereco. | 751 |
| data.location.city | string | Cidade do evento. | Rio de Janeiro |
| data.location.country | string | Pais informado pelo upstream. | BRASIL |
| data.location.id | number | ID do local do evento. | 740102 |
| data.location.latitude | number | Latitude do local. | -23.0074726 |
| data.location.location | string | WKT/point informado pelo Sympla. | POINT(-23.007473 -43.432116) |
| data.location.longitude | number | Longitude do local. | -43.4321162 |
| data.location.name | string | Nome do espaco onde o evento acontece. | IGREJA BATISTA ATITUDE |
| data.location.neighborhood | string | Bairro do local. | Barra da Tijuca |
| data.location.state | string | UF do evento. | RJ |
| data.location.zipCode | string | CEP do local. | 22793-395 |
| data.logoUrl | string | Imagem principal do evento. | https://images.sympla.com.br/697a60eda2cdd.jpg |
| data.name | string | Nome publico do evento. | Musical de Pascoa o Resgatador |
| data.organizerRequestUrl | string | Endpoint interno consultado para enriquecer dados do produtor. | https://event-page.svc.sympla.com.br/api/event-bff/purchase/event/3290352/organizer |
| data.parser | string | Estrategia usada pelo backend para extracao. | event_bff |
| data.paymentEventType | string | Indicador de evento pago ou gratuito. | paid |
| data.paymentOptions.applePay | boolean | Indica aceite de Apple Pay. | true |
| data.paymentOptions.boleto | boolean | Indica aceite de boleto. | false |
| data.paymentOptions.creditCard | boolean | Indica aceite de cartao de credito. | true |
| data.paymentOptions.creditCardInternational | boolean | Indica aceite de cartao internacional. | true |
| data.paymentOptions.debit | boolean | Indica aceite de debito. | false |
| data.paymentOptions.debitBanks[] | string | Lista de bancos aceitos para debito, quando existir. | itau |
| data.paymentOptions.googlePay | boolean | Indica aceite de Google Pay. | false |
| data.paymentOptions.ifoodBeneficios | boolean | Indica aceite de beneficios iFood. | true |
| data.paymentOptions.nuPay | boolean | Indica aceite de NuPay. | true |
| data.paymentOptions.paypal | boolean | Indica aceite de PayPal. | false |
| data.paymentOptions.pix | boolean | Indica aceite de Pix. | true |
| data.policies[].description | string | Descricao da politica. | Cancelamentos de pedidos serao aceitos ate 7 dias apos a compra, desde que a solicitacao seja enviada ate 48 horas antes do inicio do evento. |
| data.policies[].featureEnabled | boolean | Indica se a funcionalidade da politica esta habilitada. | true |
| data.policies[].policyLink | string | URL de ajuda oficial relacionada a politica. | https://ajuda.sympla.com.br/hc/pt-br/articles/6484108930580-Como-fa%C3%A7o-para-cancelar-meu-ingresso |
| data.policies[].policyLinkLabel | string | Rotulo do link de ajuda relacionado a politica. | Saiba mais sobre o cancelamento |
| data.policies[].title | string | Titulo da politica exibida ao comprador. | Cancelamento de pedidos pagos |
| data.policies[].type | string | Tipo interno da politica do evento. | PAID_ORDER_CANCELATION |
| data.policies[].visible | boolean | Indica se a politica esta visivel para o usuario final. | true |
| data.producer.description | string | Descricao curta do host do evento. | Produtor responsavel pela realizacao do evento. |
| data.producer.document | string | Documento do produtor retornado pelo organizer endpoint. | 24.948.707/0001-92 |
| data.producer.documentType | string | Tipo de documento do produtor. | CNPJ |
| data.producer.fantasyName | string | Nome fantasia do organizador. | INSTITUTO ASSISTENCIAL ATITUDE |
| data.producer.id | number | ID do host do evento. | 615382 |
| data.producer.image | string | Imagem do produtor quando disponivel. | https://images.sympla.com.br/producer-instituto-assistencial-atitude.jpg |
| data.producer.name | string | Nome principal do produtor ou organizador. | INSTITUTO ASSISTENCIAL ATITUDE |
| data.producer.organizerId | number | ID do organizador relacionado ao host. | 9229919 |
| data.producer.organizerPageSlug | string | Slug da pagina do organizador quando disponivel. | instituto-assistencial-atitude |
| data.producer.url | string | URL publica do produtor quando disponivel. | https://www.sympla.com.br/produtor/instituto-assistencial-atitude |
| data.requestUrl | string | URL enviada pelo cliente para a extracao. | https://www.sympla.com.br/evento/musical-de-pascoa-o-resgatador/3290352 |
| data.showInstallmentsInfo | boolean | Indica se a informacao de parcelamento deve ser exibida. | true |
| data.slug | string | Slug do evento usado na URL canonica. | musical-de-pascoa-o-resgatador |
| data.source | string | Fonte fixa da seam. | sympla.com.br |
| data.startDate | string | Data/hora inicial do evento conforme o upstream. | 2026-03-29 16:00:00 |
| data.startDateLabel | string | Representacao textual da data inicial. | 2026-03-29 16:00:00 |
| data.ticketCount | number | Quantidade de tickets normalizados no array tickets. | 1 |
| data.tickets[].availableQty | number | Quantidade total disponivel reportada pelo upstream. | 5 |
| data.tickets[].currentAvailableQty | number | Quantidade atual disponivel no momento da extracao. | 5 |
| data.tickets[].description | string | Descricao do ticket, quando existir. | Ingresso inteiro para a sessao das 20h. |
| data.tickets[].discountApplied | boolean | Indica se ha desconto aplicado no ticket. | false |
| data.tickets[].endDate | string | Fim da venda do ticket. | 2026-03-31 20:00:00 |
| data.tickets[].expirationTime | string | Horario de expiracao adicional quando informado. | 2026-03-31 20:00:00 |
| data.tickets[].fee | number | Taxa de servico em decimal. | 3.99 |
| data.tickets[].feeWithDiscount | number | Taxa de servico com desconto em decimal. | 3.99 |
| data.tickets[].id | number | ID do ticket/lote. | 10008454 |
| data.tickets[].installments[].installments | number | Numero de parcelas disponivel para o ticket. | 1 |
| data.tickets[].installments[].price | number | Valor de cada parcela em decimal. | 18.99 |
| data.tickets[].installments[].priceCents | number | Valor de cada parcela em centavos. | 1899 |
| data.tickets[].isFree | boolean | Indica se o ticket e gratuito. | false |
| data.tickets[].isPrivate | boolean | Indica se o ticket e privado. | false |
| data.tickets[].maxQty | number | Quantidade maxima por compra. | 5 |
| data.tickets[].minQty | number | Quantidade minima por compra. | 1 |
| data.tickets[].name | string | Nome do ticket. | 31/03/2026 - 20h |
| data.tickets[].netValue | number | Valor liquido do ticket em decimal. | 15 |
| data.tickets[].netValueWithDiscount | number | Valor liquido com desconto em decimal. | 15 |
| data.tickets[].qtyInstallmentsAbsorvedByOrganizer | number | Quantidade de parcelas absorvidas pelo organizador. | 0 |
| data.tickets[].salePrice | number | Preco de venda em decimal. | 18.99 |
| data.tickets[].salePriceCents | number | Preco de venda em centavos. | 1899 |
| data.tickets[].salePriceWithDiscount | number | Preco final com desconto em decimal. | 18.99 |
| data.tickets[].salePriceWithDiscountCents | number | Preco final com desconto em centavos. | 1899 |
| data.tickets[].senseOfUrgency.isLastIndividualTicket | boolean | Sinaliza ultima unidade individual disponivel. | true |
| data.tickets[].senseOfUrgency.isLastTickets | boolean | Sinaliza baixa disponibilidade do lote. | true |
| data.tickets[].senseOfUrgency.isTicketsFlyingTag | boolean | Sinaliza alta velocidade de venda do lote. | true |
| data.tickets[].serviceFeeIncluded | boolean | Indica se a taxa de servico ja esta embutida no preco. | false |
| data.tickets[].show | boolean | Indica se o ticket deve aparecer para o usuario. | true |
| data.tickets[].showInstallmentsInfo | boolean | Indica se o parcelamento deve ser exibido para o ticket. | true |
| data.tickets[].showOrder | number | Ordem de exibicao do ticket. | 1 |
| data.tickets[].startDate | string | Inicio da venda do ticket. | 2026-01-28 15:40:00 |
| data.tickets[].status | string | Status do ticket no Sympla. | STARTED |
| data.ticketsNomenclature | string | Nomenclatura usada para a venda de ingressos. | TICKETING |
| data.ticketsRequestUrl | string | Endpoint interno consultado para obter os tickets agrupados. | https://event-page.svc.sympla.com.br/api/event-bff/purchase/event/3290352/tickets/grouped |
| data.type | string | Tipo fixo da seam. | pdp |
| data.url | string | URL canonica do evento retornada pela API. | https://www.sympla.com.br/evento/musical-de-pascoa-o-resgatador/3290352 |
| executionId | string (uuid) | ID interno da execucao processada pelo worker. | exe_01JQ4YQKAT4EF6YQ87TVW9S2T1 |
| requestId | string (uuid) | ID da requisicao HTTP na GeckoAPI. | req_01JQ4YQKAT4EF6YQ87TVW9S2T0 |
| 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. |