PLP por keyword
A URL de busca e montada automaticamente a partir de keyword e page.
{
"target": "sympla.com.br",
"type": "plp",
"keyword": "teatro",
"page": 1
} // docs
Extrai resultados de busca do Sympla por keyword e pagina, com total de resultados, proxima pagina e cards de eventos 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": "plp",
"keyword": "teatro",
"page": 1
}'
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_plp
Auth
Bearer ou X-API-Key
{
"jsonrpc": "2.0",
"id": 3,
"method": "tools/call",
"params": {
"name": "sympla_com_br_plp",
"arguments": {
"keyword": "teatro",
"page": 1,
"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) | Condicional | Opcional. Quando enviada, deve apontar para /eventos e conter a keyword em s. | - | 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 | Obrigatorio quando url nao for enviada. Vira o parametro s da busca. | - | iphone 15 pro max |
| 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 plp. | - | pdp |
| page Paginacao. Em PLP inicia em 1; em review (MercadoLivre, Booking e Hoteis) inicia em 0. | integer | Opcional | Paginacao 1-based. | 1 | 2 |
A URL de busca e montada automaticamente a partir de keyword e page.
{
"target": "sympla.com.br",
"type": "plp",
"keyword": "teatro",
"page": 1
} Tambem aceita a URL de busca do Sympla, desde que a query contenha s=keyword.
{
"target": "sympla.com.br",
"type": "plp",
"url": "https://www.sympla.com.br/eventos?s=teatro&page=1"
} 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.extractedAt": "string (iso datetime)",
"data.keyword": "string",
"data.page": "number",
"data.limit": "number",
"data.totalResults": "number",
"data.primaryResults": "number",
"data.nextPage": "number",
"data.nextPageUrl": "string",
"data.items[].position": "number",
"data.items[].id": "number",
"data.items[].eventId": "number",
"data.items[].name": "string",
"data.items[].url": "string",
"data.items[].type": "string",
"data.items[].company": "string",
"data.items[].durationType": "string",
"data.items[].globalScore": "number",
"data.items[].startDate": "string",
"data.items[].endDate": "string",
"data.items[].startDateLabel": "string",
"data.items[].endDateLabel": "string",
"data.items[].imageUrl": "string",
"data.items[].imageLgUrl": "string",
"data.items[].imageXsUrl": "string",
"data.items[].location.name": "string",
"data.items[].location.address": "string",
"data.items[].location.addressAlt": "string",
"data.items[].location.addressNum": "string",
"data.items[].location.neighborhood": "string",
"data.items[].location.city": "string",
"data.items[].location.state": "string",
"data.items[].location.zipCode": "string",
"data.items[].location.country": "string",
"data.items[].location.latitude": "number",
"data.items[].location.longitude": "number",
"data.items[].organizer.id": "string",
"data.items[].organizer.name": "string",
"data.items[].organizer.email": "string",
"data.items[].organizer.url": "string",
"data.items[].organizer.image": "string",
"data.items[].organizer.organizerRange": "string",
"data.items[].organizer.organizerRangeId": "string"
} {
"requestId": "req_01JQ4Z2DM0X0AHVYAFR75T7Q9A",
"executionId": "exe_01JQ4Z2DM0X0AHVYAFR75T7Q9B",
"data": {
"source": "sympla.com.br",
"type": "plp",
"parser": "next_flight",
"url": "https://www.sympla.com.br/eventos?s=teatro&page=1",
"requestUrl": "https://www.sympla.com.br/eventos?s=teatro&page=1",
"extractedAt": "2026-03-31T14:05:00.000Z",
"keyword": "teatro",
"page": 1,
"limit": 24,
"totalResults": 1806,
"primaryResults": 24,
"nextPage": 2,
"nextPageUrl": "https://www.sympla.com.br/eventos?s=teatro&page=2",
"items": [
{
"position": 1,
"id": 50117663,
"eventId": 117663,
"name": "O CEU DA LINGUA",
"url": "https://bileto.sympla.com.br/event/117663",
"type": "NORMAL",
"company": "ttrs",
"durationType": "multiple",
"globalScore": 607428,
"startDate": "2026-04-22T22:00:00+00:00",
"endDate": "2026-04-26T00:30:00+00:00",
"startDateLabel": "Qua, 22 Abr - 2026 · 19:00",
"endDateLabel": "Sab, 25 Abr - 2026 · 21:30",
"imageUrl": "https://assets.bileto.sympla.com.br/eventmanager/production/24s1ocg90u9kldhr3vbho8gspu8rvhg7b8rjcu0cb7v1ft6r58hcq7743e8ld2b5j7hoprjqgistj0r2m5m6dppbp98s8via1krsvj2.webp",
"imageLgUrl": "https://assets.bileto.sympla.com.br/eventmanager/production/24s1ocg90u9kldhr3vbho8gspu8rvhg7b8rjcu0cb7v1ft6r58hcq7743e8ld2b5j7hoprjqgistj0r2m5m6dppbp98s8via1krsvj2.webp",
"imageXsUrl": "https://assets.bileto.sympla.com.br/eventmanager/production/24s1ocg90u9kldhr3vbho8gspu8rvhg7b8rjcu0cb7v1ft6r58hcq7743e8ld2b5j7hoprjqgistj0r2m5m6dppbp98s8via1krsvj2.webp",
"location": {
"name": "Grande Teatro Cemig Palacio das Artes",
"address": "Av. Afonso Pena,1537",
"addressAlt": "",
"addressNum": "0",
"neighborhood": "",
"city": "Belo Horizonte",
"state": "MG",
"zipCode": "",
"country": "",
"latitude": -19.9256264,
"longitude": -43.9337146
},
"organizer": {
"id": "5824",
"name": "FUNDACAO CLOVIS SALGADO - FCS",
"email": "clarissa@padrok.com.br",
"url": "https://www.sympla.com.br/produtor/fundacao-clovis-salgado",
"image": "https://images.sympla.com.br/organizer-fundacao-clovis-salgado.jpg",
"organizerRange": "UPPER_RANGE",
"organizerRangeId": "1"
}
}
]
}
} | Path | Tipo | Descrição | Exemplo |
|---|---|---|---|
| data.extractedAt | string (iso datetime) | Timestamp UTC da extracao. | 2026-03-31T14:05:00.000Z |
| data.items[].company | string | Slug/empresa associada ao card quando informado. | ttrs |
| data.items[].durationType | string | Tipo de duracao do evento. | multiple |
| data.items[].endDate | string | Data/hora final do evento em formato bruto. | 2026-04-26T00:30:00+00:00 |
| data.items[].endDateLabel | string | Rotulo amigavel da data final. | Sab, 25 Abr - 2026 · 21:30 |
| data.items[].eventId | number | ID canonico do evento extraido da URL do card. | 117663 |
| data.items[].globalScore | number | Score interno/global do item no payload de busca. | 607428 |
| data.items[].id | number | ID bruto do card no payload de busca. | 50117663 |
| data.items[].imageLgUrl | string | Versao large da imagem do card. | https://assets.bileto.sympla.com.br/eventmanager/production/24s1ocg90u9kldhr3vbho8gspu8rvhg7b8rjcu0cb7v1ft6r58hcq7743e8ld2b5j7hoprjqgistj0r2m5m6dppbp98s8via1krsvj2.webp |
| data.items[].imageUrl | string | Imagem principal do card. | https://assets.bileto.sympla.com.br/eventmanager/production/24s1ocg90u9kldhr3vbho8gspu8rvhg7b8rjcu0cb7v1ft6r58hcq7743e8ld2b5j7hoprjqgistj0r2m5m6dppbp98s8via1krsvj2.webp |
| data.items[].imageXsUrl | string | Versao extra-small da imagem do card. | https://assets.bileto.sympla.com.br/eventmanager/production/24s1ocg90u9kldhr3vbho8gspu8rvhg7b8rjcu0cb7v1ft6r58hcq7743e8ld2b5j7hoprjqgistj0r2m5m6dppbp98s8via1krsvj2.webp |
| data.items[].location.address | string | Endereco textual do local. | Av. Afonso Pena,1537 |
| data.items[].location.addressAlt | string | Complemento do endereco. | |
| data.items[].location.addressNum | string | Numero do endereco. | 0 |
| data.items[].location.city | string | Cidade do evento. | Belo Horizonte |
| data.items[].location.country | string | Pais informado no payload. | |
| data.items[].location.latitude | number | Latitude do local. | -19.9256264 |
| data.items[].location.longitude | number | Longitude do local. | -43.9337146 |
| data.items[].location.name | string | Nome do local do evento. | Grande Teatro Cemig Palacio das Artes |
| data.items[].location.neighborhood | string | Bairro do local quando informado. | |
| data.items[].location.state | string | UF do evento. | MG |
| data.items[].location.zipCode | string | CEP do local quando informado. | |
| data.items[].name | string | Nome do evento na listagem. | O CEU DA LINGUA |
| data.items[].organizer.email | string | Email do organizador quando informado. | clarissa@padrok.com.br |
| data.items[].organizer.id | string | ID do organizador no payload da listagem. | 5824 |
| data.items[].organizer.image | string | Imagem do organizador quando existir. | https://images.sympla.com.br/organizer-fundacao-clovis-salgado.jpg |
| data.items[].organizer.name | string | Nome do organizador exibido no card. | FUNDACAO CLOVIS SALGADO - FCS |
| data.items[].organizer.organizerRange | string | Faixa/range interna do organizador. | UPPER_RANGE |
| data.items[].organizer.organizerRangeId | string | ID numerico/textual da faixa do organizador. | 1 |
| data.items[].organizer.url | string | URL publica do organizador quando existir. | https://www.sympla.com.br/produtor/fundacao-clovis-salgado |
| data.items[].position | number | Posicao absoluta do item na listagem. | 1 |
| data.items[].startDate | string | Data/hora inicial do evento em formato bruto. | 2026-04-22T22:00:00+00:00 |
| data.items[].startDateLabel | string | Rotulo amigavel da data inicial. | Qua, 22 Abr - 2026 · 19:00 |
| data.items[].type | string | Tipo de evento retornado pelo Sympla. | NORMAL |
| data.items[].url | string | URL publica do card do evento. | https://bileto.sympla.com.br/event/117663 |
| data.keyword | string | Keyword usada no parametro s da busca. | teatro |
| data.limit | number | Quantidade de itens por pagina reportada pelo payload. | 24 |
| data.nextPage | number | Proxima pagina disponivel, quando existir. | 2 |
| data.nextPageUrl | string | URL pronta da proxima pagina, quando existir. | https://www.sympla.com.br/eventos?s=teatro&page=2 |
| data.page | number | Pagina atual da busca (1-based). | 1 |
| data.parser | string | Estrategia usada para extrair o payload da listagem. | next_flight |
| data.primaryResults | number | Quantidade de itens retornados no array items. | 24 |
| data.requestUrl | string | URL normalizada enviada ao Sympla para a busca. | https://www.sympla.com.br/eventos?s=teatro&page=1 |
| data.source | string | Fonte fixa da seam. | sympla.com.br |
| data.totalResults | number | Total de eventos encontrados para a keyword. | 1806 |
| data.type | string | Tipo fixo da seam. | plp |
| data.url | string | URL efetiva retornada pela requisicao upstream. | https://www.sympla.com.br/eventos?s=teatro&page=1 |
| executionId | string (uuid) | ID interno da execucao processada pelo worker. | exe_01JQ4Z2DM0X0AHVYAFR75T7Q9B |
| requestId | string (uuid) | ID da requisicao HTTP na GeckoAPI. | req_01JQ4Z2DM0X0AHVYAFR75T7Q9A |
| 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. |