# 206.events > 206.events is an event calendar for Seattle. It collects events > from local venue and organization websites and publishes them as > iCalendar (.ics) feeds, RSS feeds, and JSON data files. All files are > static. A new build replaces them on the city's build schedule. If you are a program (an LLM, a script, or an app), do not scrape the HTML site. Use the data files below. They are the machine-readable copy of everything the site publishes. ## Start here - [index.json](/index.json): the entry point. It lists every other data file with its relative href. Read it first. ## Data files - [events-index.json](/events-index.json): one flat JSON array of all events from every published calendar. Each event has `summary`, `date`, and `icsUrl` (the calendar that publishes it). When known, it also has `endDate`, `location`, `lat`/`lng`, `url`, `imageUrl`, `cost`, and `description`. Events whose location matches an OpenStreetMap feature also have `osmType` and `osmId`. - [events-index-soon.json](/events-index-soon.json): the events of the next ~9 days only, with no `description` field. Use `events-index.json` for complete data. - [events-index.ndjson](/events-index.ndjson): the same events as newline-delimited JSON, sorted by start date. The `description` field is replaced by `d`, an index into `event-descriptions.json`. The first line is a header (`{"format":"events-stream/1","generated":...}`), not an event: skip each line that has a `format` field. - [event-descriptions.json](/event-descriptions.json): `{ generated, descriptions }`. Look up `descriptions[event.d]`. Use it only when its `generated` value is the same as the stream header's. A different value means the two files come from different builds. - [tags.json](/tags.json): one entry per tag, with its category, event count, calendar count, and the hrefs of its aggregate ICS and RSS feeds. - [venues.json](/venues.json): one entry per source with one fixed location: coordinates, calendar feed hrefs, and a `map` object. `map.web` is a Google Maps URL. `map.osm` links to the OpenStreetMap feature when the venue has `geo.osmType` and `geo.osmId`. Sources with no single location (for example, community calendars) are not listed. - [manifest.json](/manifest.json): every calendar the site publishes, with friendly names, tags, and ICS/RSS hrefs. - [build-errors.json](/build-errors.json): the error report of the most recent build. - [geo-cache.json](/geo-cache.json): the geocoding cache (coordinates for event location strings). ## Dates Every `date` and `endDate` is an ISO-8601 date-time with an offset and a time-zone name, for example `2026-02-15T19:00:00-08:00[America/Los_Angeles]`. Remove the `[...]` part before you give the value to a standard ISO-8601 parser. Use the offset, not your local time zone. ## Calendar feeds - Every tag in `tags.json` has `tag-.ics` and `tag-.rss` feeds. The slug is the tag in lower case, with each character that is not `[a-z0-9]` replaced by `-`. - Every calendar in `manifest.json` has its own ICS and RSS feed. Its href is `-.ics`, `external-.ics`, or `recurring-.ics`. ## Usage notes - All hrefs in `index.json`, `tags.json`, and `venues.json` are relative to the site root. Resolve them against `https://seattle.finds.events/`. - Each data file has a `generated` ISO-8601 time stamp. Use it to check freshness. - Browsers on other websites can read the data files: the site sends `Access-Control-Allow-Origin: *`. - There is no rate limit. Please cache the files and do not fetch them again for each request. - There is no version number. New fields can appear. Fields are not removed or renamed without notice.