Subscribe
Add a feed to Apple Calendar, Google Calendar or Outlook and new events show up on their own. Feeds refresh every few hours.
Embed a widget
Pick a view and filters, then paste the snippet into any page. Browse gives visitors search, date and filter controls and keeps loading events as they scroll, all inside the embed. In Drupal, use the Full HTML text format (or paste the iframe version). The widget sizes itself to its content.
JSON API
Static JSON files, rebuilt on every run. No key needed; CORS is open. Every record carries the same fields — see Fields.
| Endpoint | What it returns |
|---|---|
/api/v1/events.json | Every upcoming occurrence, all fields (closures included, kind: "closure"). Also events.min.json. |
/api/v1/upcoming.json | Next 200 events with repeating tours collapsed to their next date (occurrences = count). |
/api/v1/months/YYYY-MM.json | Events starting in one month. |
/api/v1/sources/{id}.json | One organization's events plus its last-run status. |
/api/v1/sources.json | Every source, when it last succeeded, event count and any error. |
/api/v1/fields.json | The field dictionary. |
/api/v1/review.json | Keyword matches that may not be about TR, and dates read from prose — for staff review. |
/api/v1/widget.json | Slim index the widgets load. |
Sources
Roosevelt organizations are included in full. General calendars (Smithsonian, Library of Congress, National Archives, Harvard, White House Historical Association, AMNH) are scanned for Theodore and Edith Roosevelt.
| Organization | Type | Events | Last success | Status |
|---|---|---|---|---|
| Loading… | ||||
Fields
The metadata kept for every event.
| Field | Type | Description |
|---|