Open
- Personal, community, research and non-commercial sites
- JSON, RSS and the widget
- Attribution “Come Alone / Meet & Mint” and a link to each official page
- Best-effort availability, schema may change with notice on this page
For developers & partners
Every event on comealone.app, as plain JSON and RSS: curated come-alone events from city open data, summarised in our own words, each with an original cover. No key, no login, CORS open. Free for non-commercial use with attribution; commercial and white-label plans for products, media and cities.
Endpoints
Everything lives under https://comealone.app/feed/v1/. Files are regenerated when we add events (usually daily) and cached for 30 minutes at the edge. Only upcoming events are included — past ones drop out automatically.
meta (count, cities, licence).madrid, san-sebastian, new-taipei.<link rel="alternate">.webcal://comealone.app/feed/v1/ics/<city-slug>.ics. Also /feed/v1/ics/category/<category>.ics (e.g. music, learning) and /feed/v1/ics/all.ics when small enough. Refreshes every 12 hours; end times are approximate.Responses carry Access-Control-Allow-Origin: * and Cache-Control: public, max-age=1800. There is no rate limit on static files; please cache on your side for at least 15 minutes anyway.
parisbarcelonamadridnantesbilbaovitoria-gasteizhelsinkitoulousedonostia-san-sebastiantorontobolognabordeauxThe full list, with slugs, is in cities.json.
Schema
Every feed is { "meta": {…}, "events": [ … ] }. meta has generated_at, count, cities, license and docs_url; per-city feeds add city, slug, country and timezone. Fields marked | null may be missing for some events.
| Field | Type | Meaning |
|---|---|---|
id | string | Stable key of the event (also the cover file name). Use it for de-duplication. |
title | string | Event title, in English, written by our team. |
description | string | null | Two or three sentences in our own words. Never the organiser's text. |
start | string | Local start as ISO 8601 with UTC offset, e.g. 2026-10-14T17:30:00+02:00. |
end | string | null | Local end, same format. |
timezone | string | null | IANA zone, e.g. Europe/Madrid. Derived from the city. |
city | string | City name as shown on the site. |
city_slug | string | Lower-case ASCII slug; the per-city feed is /feed/v1/city/{slug}.json. |
country | string | null | Country name; country_code is the ISO 3166-1 alpha-2 code. |
venue | string | null | Venue or meeting point. |
address | null | Reserved. Street addresses are not in the current data set. |
category | string | One of Music, Culture, Learning, Social, Outdoors, Food and drink, Nightlife, Arts & crafts, Sports. |
price | string | "free", an amount found in the description (e.g. "€2.50") or "see official page" when the amount is not known. is_free is the boolean. |
source_url | string | The organiser's official page. Always link to it. |
organizer | string | null | Host name of the official page (e.g. barcelona.cat); organiser names are not in the data yet. |
cover_url | string | null | Original illustration, 960×600 WebP, CC BY 4.0 like the rest of the feed. |
languages | string[] | null | ISO 639-1 codes when the description says the event is held in a language. |
updated_at | string | When the underlying data set was last changed (UTC). |
url | string | The event's city page on comealone.app. |
{
"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"
}
]
}
Dates are local to the event with an explicit UTC offset, so new Date(e.start) is always correct; show them in e.timezone, not in the viewer's zone, unless you mean to.
Quick start
curl -s https://comealone.app/feed/v1/events.json | jq '.events[0:3] | .[] | {title, start, city, source_url}'
curl -s https://comealone.app/feed/v1/city/madrid.json | jq '.meta.count'
curl -s https://comealone.app/feed/v1/events.rss | head -20
const r = await fetch('https://comealone.app/feed/v1/city/madrid.json');
const { meta, events } = await r.json();
console.log(meta.count, 'events in', meta.city);
for (const e of events.slice(0, 5)) {
console.log(new Date(e.start).toLocaleString(), e.title, e.venue, e.source_url);
}
<link rel="alternate" type="application/rss+xml" title="Come Alone — Madrid" href="https://comealone.app/feed/v1/city/madrid.rss">
Attribution for the free tier: a visible “Events by Come Alone / Meet & Mint” near the list, and a link to each event's source_url. That is the whole licence (CC BY 4.0).
Embeddable widget
Put the tag where the list should appear. It renders the next events of a city with cover thumbnails, links to the official pages and an “Open in Meet & Mint” link. No dependencies, ~4 KB, styles are scoped to the widget and follow your page's font.
<script src="https://comealone.app/feed/v1/widget.js" data-city="madrid" data-limit="5"></script>
| Attribute | Default | Meaning |
|---|---|---|
data-city | (all cities) | City slug from cities.json. Omit for a cross-city list. |
data-limit | 5 | How many events to show (1–50). |
data-category | (all) | Only this category, e.g. Music. |
data-free | false | true shows free events only. |
data-theme | light | light, dark or auto (follows the visitor's system). |
data-title | Go alone in <city> | Heading text; empty string hides it. |
data-target | (after the script) | CSS selector of an element to render into instead. |
The preview above is the real widget, fed by this site's own feed.
Pricing
The feed is open. What you pay for is the right to use it inside a commercial product, without our name on it, with support and a stable schema.
Cities, tourism boards and newsrooms: tell us which cities and languages you need and we will set up a feed and a quote. Contact details are coming to this page shortly — for now, reach the Meet & Mint team through meetmint.app.
Good practice
source_url is where people register, check prices and see last-minute changes. Never hide it.timezone; a Taipei concert at 19:30 is not at 13:30.id for de-duplication. It is stable across rebuilds; updated_at tells you when the data set last changed.The app
Meet & Mint: Events & Friends puts events and people near you on one map, with a chat for every event. Join alone, invite another adult, or host your own walk, dinner or game night. The widget's “Open in Meet & Mint” link brings your visitors here.




