PDP by URL event canonical
Extracts the event from the public URL of the event page.
{
"target": "sympla.com.br",
"type": "pdp",
"url": "https://www.sympla.com.br/evento/musical-de-pascoa-o-resgatador/3290352"
} // docs
Extracts event page from Sympla with event metadata, producer, location and tickets grouped without browser rendering, preserving the input URL and exposing the canonical URL separately.
sympla.com.br:pdp · 1 credit per request
Standard credit cost. Your account pricing is shown in the sandbox.
Try this operation in the sandboxcurl -X POST https://api.geckoapi.com.br/v1/extract \
-H "Authorization: Bearer YOUR_API_KEY" \
-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"
}' Keep your API key on your server. See the quickstart for authentication and response handling.
The hosted MCP tool fixes target and type for this operation. Its remaining arguments use the same input rules as Extract.
POST /v1/mcp · Bearer or X-API-Key authentication
{
"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"
}
}
} Conditional fields depend on the alternatives and constraints in the rule column. Fields marked unsupported are omitted.
| Field | Type | Requirement | Rule | Default | Example |
|---|---|---|---|---|---|
| url URL extraction target. For some PLPs it can be omitted when API assembles URL from other fields. | string (URL) | Required | Accepts event URLs in /evento/.../<id> and also bill URLs in /event/<id>. | - | https://www.sympla.com.br/evento/musical-de-pascoa-o-resgatador/3290352 |
| target Target source for extraction. | enum | Required | Always mandatory and must be sympla.com.br. | - | sympla.com.br |
| type Extraction type: pdp, idp, plp, ilp, quote, review or places. | enum | Required | Always mandatory and must be pdp. | - | pdp |
Extracts the event from the public URL of the event page.
{
"target": "sympla.com.br",
"type": "pdp",
"url": "https://www.sympla.com.br/evento/musical-de-pascoa-o-resgatador/3290352"
} Also accepts the short URL used in some Sympla search results.
{
"target": "sympla.com.br",
"type": "pdp",
"url": "https://bileto.sympla.com.br/event/117663"
} Leaf paths and expected types. Field names and enum values are part of the API contract.
{
"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": "\"1.0.0\"",
"data.url": "string",
"data.canonicalUrl": "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.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"
} Illustrative response. Product names, reviews and other source content retain their original language. Missing and null values do not imply zero stock, free shipping or zero reviews.
{
"requestId": "req_01JQ4YQKAT4EF6YQ87TVW9S2T0",
"executionId": "exe_01JQ4YQKAT4EF6YQ87TVW9S2T1",
"data": {
"source": "sympla.com.br",
"type": "pdp",
"parser": "1.0.0",
"url": "https://www.sympla.com.br/evento/musical-de-pascoa-o-resgatador/3290352",
"canonicalUrl": "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-29T19:00:00+00:00",
"endDate": "2026-03-31T23:00:00+00:00",
"startDateLabel": "Dom, 29 Mar - 2026 · 16:00",
"endDateLabel": "Ter, 31 Mar - 2026 · 20: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,
"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 | Type | Description | Example |
|---|---|---|---|
| data.canonicalUrl | string | URL publishes event canonical. For billet URLs, it can point to the billet variant with resolved presentation. | https://www.sympla.com.br/evento/musical-de-pascoa-o-resgatador/3290352 |
| data.category.description | string | Readable description of the category. | Musica |
| data.category.id | number | ID of the event category. | 27 |
| data.category.name | string | Category name. | musica |
| data.category.slug | string | Category slug. | musica |
| data.description | string | Textual description of the event with HTML removed when necessary. | Espetaculo especial de Pascoa com entrada paga. |
| data.detailHtml | string | HTML raw event description. | <p>Espetaculo especial de Pascoa com entrada paga.</p> |
| data.endDate | string | Event end date/time normalized to UTC ISO when upstream allows resolving timezone. | 2026-03-31T23:00:00+00:00 |
| data.endDateLabel | string | Textual representation of the final data. | Ter, 31 Mar - 2026 · 20:00 |
| data.eventRequestUrl | string | Internal endpoint queried to obtain event metadata. | https://event-page.svc.sympla.com.br/api/event-bff/purchase/event/3290352 |
| data.eventSubType | string | Event subtype reported by Sympla. | NORMAL |
| data.eventType | string | Type of event reported by Sympla. | NORMAL |
| data.extractedAt | string (iso datetime) | Extraction timestamp UTC. | 2026-03-31T14:00:00.000Z |
| data.hasActiveDiscounts | boolean | Indicates whether there are active discounts in the event. | true |
| data.hasCertificate | boolean | Indicates whether the event mentions a certificate. | false |
| data.hasInstallments | boolean | Indicates whether the event allows installments. | true |
| data.id | number | ID numeric of the event in Sympla. | 3290352 |
| data.location.address | string | Event venue. | Rua Sylvio da Rocha Pollis |
| data.location.addressAlt | string | Location add-on or nickname. | IGREJA |
| data.location.addressNum | string | Address number. | 751 |
| data.location.city | string | Event city. | Rio de Janeiro |
| data.location.country | string | Parent informed by upstream. | BRASIL |
| data.location.id | number | ID of the event location. | 740102 |
| data.location.latitude | number | Location latitude. | -23.0074726 |
| data.location.location | string | WKT/point reported by Sympla. | POINT(-23.007473 -43.432116) |
| data.location.longitude | number | Location longitude. | -43.4321162 |
| data.location.name | string | Name of the space where the event takes place. | IGREJA BATISTA ATITUDE |
| data.location.neighborhood | string | Location neighborhood. | Barra da Tijuca |
| data.location.state | string | UF of the event. | RJ |
| data.location.zipCode | string | CEP of the location. | 22793-395 |
| data.logoUrl | string | Main image of the event. | https://images.sympla.com.br/697a60eda2cdd.jpg |
| data.name | string | Public name of the event. | Musical de Pascoa o Resgatador |
| data.organizerRequestUrl | string | Internal endpoint queried to enrich producer data. | https://event-page.svc.sympla.com.br/api/event-bff/purchase/event/3290352/organizer |
| data.parser | "1.0.0" | Stable version of the API response format. | 1.0.0 |
| data.paymentEventType | string | Paid or free event indicator. | paid |
| data.paymentOptions.applePay | boolean | Indicates Apple Pay acceptance. | true |
| data.paymentOptions.boleto | boolean | Indicates bill acceptance. | false |
| data.paymentOptions.creditCard | boolean | Indicates credit card acceptance. | true |
| data.paymentOptions.creditCardInternational | boolean | Indicates international card acceptance. | true |
| data.paymentOptions.debit | boolean | Indicates debit acceptance. | false |
| data.paymentOptions.debitBanks[] | string | List of banks accepted for debiting, if any. | itau |
| data.paymentOptions.googlePay | boolean | Indicates acceptance of Google Pay. | false |
| data.paymentOptions.nuPay | boolean | Indicates acceptance of NuPay. | true |
| data.paymentOptions.paypal | boolean | Indicates acceptance of PayPal. | false |
| data.paymentOptions.pix | boolean | Indicates acceptance of Pix. | true |
| data.policies[].description | string | Description of the policy. | 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 | Indicates whether the policy functionality is enabled. | true |
| data.policies[].policyLink | string | URL for official help related to politics. | https://ajuda.sympla.com.br/hc/pt-br/articles/6484108930580-Como-fa%C3%A7o-para-cancelar-meu-ingresso |
| data.policies[].policyLinkLabel | string | Policy-related help link label. | Saiba mais sobre o cancelamento |
| data.policies[].title | string | Title of the policy displayed to the buyer. | Cancelamento de pedidos pagos |
| data.policies[].type | string | Internal event policy type. | PAID_ORDER_CANCELATION |
| data.policies[].visible | boolean | Indicates whether the policy is visible to the end user. | true |
| data.producer.description | string | Short description of the event host. | Produtor responsavel pela realizacao do evento. |
| data.producer.document | string | Producer document returned by the organizer endpoint. | 24.948.707/0001-92 |
| data.producer.documentType | string | Producer document type. | CNPJ |
| data.producer.fantasyName | string | Trade name of the organizer. | INSTITUTO ASSISTENCIAL ATITUDE |
| data.producer.id | number | ID from the event host. | 615382 |
| data.producer.image | string | Producer image when available. | https://images.sympla.com.br/producer-instituto-assistencial-atitude.jpg |
| data.producer.name | string | Main name of the producer or organizer. | INSTITUTO ASSISTENCIAL ATITUDE |
| data.producer.organizerId | number | ID of the host-related organizer. | 9229919 |
| data.producer.organizerPageSlug | string | Organizer page slug when available. | instituto-assistencial-atitude |
| data.producer.url | string | URL publishes from producer when available. | https://www.sympla.com.br/produtor/instituto-assistencial-atitude |
| data.requestUrl | string | Same value as `data.url`; never exposes the queried internal endpoint. | https://www.sympla.com.br/evento/musical-de-pascoa-o-resgatador/3290352 |
| data.showInstallmentsInfo | boolean | Indicates whether installment information should be displayed. | true |
| data.slug | string | Event slug used in canonical URL. | musical-de-pascoa-o-resgatador |
| data.source | string | Fixed operation source. | sympla.com.br |
| data.startDate | string | Event start date/time normalized to UTC ISO when upstream allows resolving timezone. | 2026-03-29T19:00:00+00:00 |
| data.startDateLabel | string | Textual representation of the initial data. | Dom, 29 Mar - 2026 · 16:00 |
| data.ticketCount | number | Number of tickets normalized in array tickets. | 1 |
| data.tickets[].availableQty | number | Total available quantity reported by upstream. | 5 |
| data.tickets[].currentAvailableQty | number | Current quantity available at the time of extraction. | 5 |
| data.tickets[].description | string | Description of the ticket, if any. | Ingresso inteiro para a sessao das 20h. |
| data.tickets[].discountApplied | boolean | Indicates whether a discount is applied to the ticket. | false |
| data.tickets[].endDate | string | End of ticket sale. | 2026-03-31 20:00:00 |
| data.tickets[].expirationTime | string | Additional expiration time when entered. | 2026-03-31 20:00:00 |
| data.tickets[].fee | number | Service charge in decimal. | 3.99 |
| data.tickets[].feeWithDiscount | number | Service fee discounted in decimal. | 3.99 |
| data.tickets[].id | number | ID of the ticket/batch. | 10008454 |
| data.tickets[].installments[].installments | number | Number of installments available for the ticket. | 1 |
| data.tickets[].installments[].price | number | Value of each installment in decimal. | 18.99 |
| data.tickets[].installments[].priceCents | number | Value of each installment in cents. | 1899 |
| data.tickets[].isFree | boolean | Indicates whether the ticket is free. | false |
| data.tickets[].isPrivate | boolean | Indicates whether the ticket is private. | false |
| data.tickets[].maxQty | number | Maximum quantity per purchase. | 5 |
| data.tickets[].minQty | number | Minimum quantity per purchase. | 1 |
| data.tickets[].name | string | Ticket name. | 31/03/2026 - 20h |
| data.tickets[].netValue | number | Net value of the ticket in decimal. | 15 |
| data.tickets[].netValueWithDiscount | number | Net value with discount in decimal. | 15 |
| data.tickets[].qtyInstallmentsAbsorvedByOrganizer | number | Number of installments absorbed by the organizer. | 0 |
| data.tickets[].salePrice | number | Sales price in decimal. | 18.99 |
| data.tickets[].salePriceCents | number | Sales price in cents. | 1899 |
| data.tickets[].salePriceWithDiscount | number | Final price with discount in decimal. | 18.99 |
| data.tickets[].salePriceWithDiscountCents | number | Final price with discount in cents. | 1899 |
| data.tickets[].senseOfUrgency.isLastIndividualTicket | boolean | Indicates the last individual unit available. | true |
| data.tickets[].senseOfUrgency.isLastTickets | boolean | Signals low batch availability. | true |
| data.tickets[].senseOfUrgency.isTicketsFlyingTag | boolean | Signals high batch sales speed. | true |
| data.tickets[].serviceFeeIncluded | boolean | Indicates whether the service fee is already included in the price. | false |
| data.tickets[].show | boolean | Indicates whether the ticket should appear to the user. | true |
| data.tickets[].showInstallmentsInfo | boolean | Indicates whether the installment plan should be displayed for the ticket. | true |
| data.tickets[].showOrder | number | Ticket display order. | 1 |
| data.tickets[].startDate | string | Start of ticket sales. | 2026-01-28 15:40:00 |
| data.tickets[].status | string | Ticket status in Sympla. | STARTED |
| data.ticketsNomenclature | string | Nomenclature used for ticket sales. | TICKETING |
| data.ticketsRequestUrl | string | Internal endpoint queried to obtain grouped tickets. | https://event-page.svc.sympla.com.br/api/event-bff/purchase/event/3290352/tickets/grouped |
| data.type | string | Fixed operation type. | pdp |
| data.url | string | URL effectively used as extraction input, including billet variants when applicable. | https://www.sympla.com.br/evento/musical-de-pascoa-o-resgatador/3290352 |
| executionId | string (uuid) | ID internal to the execution processed by the worker. | exe_01JQ4YQKAT4EF6YQ87TVW9S2T1 |
| 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) | ID from request HTTP to GeckoAPI. | req_01JQ4YQKAT4EF6YQ87TVW9S2T0 |
When supported by this operation, an entity not found upstream can return HTTP 200 with data: null and notFound: true. Check the documented response fields before interpreting an empty result. Source-specific behavior and exceptions are described above.
| HTTP status | Error code | Meaning |
|---|---|---|
| 400 | INVALID_PAYLOAD | Invalid JSON or a request that violates the documented validation rules. |
| 401 | UNAUTHORIZED | Missing authorization or an invalid API key or token. |
| 402 | INSUFFICIENT_CREDITS | The account has insufficient credits for this operation. |
| 403 | FORBIDDEN | The account does not have access, or the API is temporarily disabled. |
| 409 | EXECUTION_CONFLICT | The execution identifier conflicts with an incompatible execution state. |
| 429 | RATE_LIMIT_EXCEEDED / TOO_MANY_INFLIGHT_REQUESTS | A rate limit or simultaneous request limit was exceeded. |
| 5xx | UPSTREAM_TIMEOUT / UPSTREAM_HTTP_ERROR / WORKER_FUNCTION_ERROR | An upstream, worker or gateway failure. Failed requests follow the platform refund policy. |