Esquema
Um evento, normalizado
Todos os feeds têm a forma { "meta": {…}, "events": [ … ] }. O meta tem generated_at, count, cities, license e docs_url; os feeds por cidade acrescentam city, slug, country e timezone. Os campos marcados com | null podem faltar em alguns eventos.
| Campo | Tipo | Significado |
id | string | Chave estável do evento (também é o nome do ficheiro da capa). Use-a para eliminar duplicados. |
title | string | Título do evento, em inglês, escrito pela nossa equipa. |
description | string | null | Duas ou três frases por palavras nossas. Nunca o texto do organizador. |
start | string | Início local em ISO 8601 com desvio UTC, p. ex. 2026-10-14T17:30:00+02:00. |
end | string | null | Fim local, no mesmo formato. |
timezone | string | null | Fuso IANA, p. ex. Europe/Madrid. Derivado da cidade. |
city | string | Nome da cidade tal como aparece no site. |
city_slug | string | Slug ASCII em minúsculas; o feed por cidade é /feed/v1/city/{slug}.json. |
country | string | null | Nome do país; country_code é o código ISO 3166-1 alpha-2. |
venue | string | null | Local ou ponto de encontro. |
address | null | Reservado. As moradas não estão no conjunto de dados atual. |
category | string | Uma de Music, Culture, Learning, Social, Outdoors, Food and drink, Nightlife, Arts & crafts, Sports. |
price | string | "free", um montante encontrado na descrição (p. ex. "€2.50") ou "low-cost". is_free é o boolean. |
source_url | string | A página oficial do organizador. Coloque sempre uma ligação para ela. |
organizer | string | null | Nome do host da página oficial (p. ex. barcelona.cat); os nomes dos organizadores ainda não estão nos dados. |
cover_url | string | null | Ilustração original, 960×600 WebP, CC BY 4.0 como o resto do feed. |
languages | string[] | null | Códigos ISO 639-1 quando a descrição indica que o evento decorre numa determinada língua. |
updated_at | string | Quando o conjunto de dados subjacente foi alterado pela última vez (UTC). |
url | string | A página da cidade do evento em comealone.app. |
Exemplo de resposta
{
"meta": {
"generated_at": "2026-10-16T14:00:00+00:00",
"count": 5838,
"cities": [
"Barcelona",
"Madrid",
"…"
],
"license": "CC BY 4.0 — attribution 'Come Alone / Meet & Mint'",
"docs_url": "https://comealone.app/developers/"
},
"events": [
{
"id": "dd56-brisbane-morning-yoga-drevesen-park-manly",
"title": "Yoga session at Drevesen Park, Manly, Brisbane",
"description": "On Sunday 15 November 2026 at 07:30 Drevesen Park in Manly, Brisbane, hosts a yoga class listed in the council's What's on guide under fitness and well-being. The session focuses on a range of movements to relax the mind and body. According to the listing it includes stretching, breathing, strength and balance exercises, worked through by combining standing poses with mat work. The class runs from 07:30 to 08:30 at 83 Lower Esplanade. The meeting point is at the end of Stewart Parade near the rotunda. The listing gives the cost as free and states that no bookings are required. For more information, people can phone John on 0403 676 435. The listing tags the class as suitable for all ages. A morning yoga class like this is easy to join alone, since everyone is focused on their own mat and breathing, and you can simply arrive and start.\n\n«Focus on a range of movements to relax the mind and body.»\n\nStarts 07:30, ends about 08:30. Source: Brisbane City Council events (data.brisbane.qld.gov.au, CC BY 4.0). The listing gives the cost as free, with no bookings required, from 7:30 to 8:30.",
"start": "2026-11-15T07:30:00+10:00",
"end": "2026-11-15T08:30:00+10:00",
"timezone": "Australia/Brisbane",
"city": "Brisbane",
"city_slug": "brisbane",
"country": "Australia",
"country_code": "AU",
"venue": "Drevesen Park, Manly",
"address": null,
"category": "Outdoors",
"price": "free",
"is_free": true,
"source_url": "https://www.brisbane.qld.gov.au/trumba?trumbaEmbed=view%3Devent%26eventid%3D203638520",
"organizer": "brisbane.qld.gov.au",
"cover_url": "https://mm-covers.pages.dev/m/dd56-brisbane-morning-yoga-drevesen-park-manly.webp",
"languages": null,
"updated_at": "2026-11-15T21:24:41+00:00",
"url": "https://comealone.app/#brisbane"
}
]
}
As datas estão na hora local do evento, com desvio UTC explícito, por isso new Date(e.start) está sempre correto; mostre-as em e.timezone, e não no fuso de quem vê, salvo se for essa a intenção.