API + integration
Every recap is available in markdown, YAML, and JSON-LD. RSS feeds cover the root + every decade / country / category. AI crawlers discover the corpus through llms.txt and sitemap-index.xml. Third-party sites can embed any recap as a card via iframe.
Every recap is reachable in three machine-readable formats at predictable URLs. Use any of them as a data source — no scraping required.
Plain markdown with YAML frontmatter. Suitable for ingestion by LLM tooling, Pandoc pipelines, static-site importers.
https://recap.at/{year}/{slug}.mdcurl -H "Accept: text/markdown" https://recap.at/1969/apollo-11.md
--- title: "Apollo 11" year: 1969 country: "United States" canonical: "https://recap.at/1969/apollo-11" --- # Apollo 11 > An eight-day round trip to a place no human had ever stood. ## Summary ...
Full recap object serialized to YAML 1.2 with block-literal strings preserving paragraph breaks. Hand-rolled stringifier — no external dependency drift.
https://recap.at/{year}/{slug}.yamlcurl -H "Accept: application/yaml" https://recap.at/1969/apollo-11.yaml
slug: apollo-11
canonicalUrl: "https://recap.at/1969/apollo-11"
title: Apollo 11
year: 1969
summaryLong: |-
Apollo 11 launched from Kennedy Space Center on July 16, 1969...
keyFacts:
- label: "Launch date"
value: "1969-07-16"Schema.org @graph with Article + Event + Place + GeoCoordinates + Citation nodes cross-referenced by @id. Eligible for Google rich results, AI Overview aggregation, knowledge-graph builders.
https://recap.at/{year}/{slug}.jsoncurl -H "Accept: application/ld+json" https://recap.at/1969/apollo-11.json
{
"@context": "https://schema.org",
"@graph": [
{
"@type": "Article",
"@id": "https://recap.at/1969/apollo-11#article",
"headline": "Apollo 11 (1969)",
"about": { "@id": "https://recap.at/1969/apollo-11#event" }
}
]
}RSS 2.0 across the corpus and per-lobby slices. Each item carries title, link, GUID, pubDate, description, and the country as the category field.
RSS 2.0 of the 50 most recently promoted recaps across the entire archive.
https://recap.at/feed.xml
curl https://recap.at/feed.xml
<?xml version="1.0" encoding="UTF-8"?>
<rss version="2.0">
<channel>
<title>Recap.at</title>
<link>https://recap.at/</link>
<item>...</item>
</channel>
</rss>Recaps within a single decade (1860s through 2020s).
https://recap.at/{decade}s/feed.xmlcurl https://recap.at/1960s/feed.xml
<channel> <title>Recap.at — 1960s</title> <link>https://recap.at/1960s</link> </channel>
Recaps tagged to a specific country.
https://recap.at/country/{slug}/feed.xmlcurl https://recap.at/country/united-states/feed.xml
<channel> <title>Recap.at — United States</title> </channel>
Recaps tagged to one of the 10 closed-set categories (war, election, festival, disaster, tech-launch, sports, award, launch, protest, revolution).
https://recap.at/{category}/feed.xmlcurl https://recap.at/war/feed.xml
<channel> <title>Recap.at — war</title> </channel>
Standard discovery endpoints. AI crawlers should hit llms.txt first; search engines walk the sitemap.
Sitemap index that points at 7 sub-sitemaps (recaps, years, decades, countries, categories, core pages, taxonomy).
https://recap.at/sitemap-index.xml
curl https://recap.at/sitemap-index.xml
<sitemapindex xmlns="http://www.sitemaps.org/schemas/sitemap/0.9"> <sitemap><loc>https://recap.at/sitemaps/recaps.xml</loc></sitemap> <sitemap><loc>https://recap.at/sitemaps/countries.xml</loc></sitemap> </sitemapindex>
Per the llmstxt.org spec. AI crawlers (Claude, GPT, Gemini, Perplexity) read this for a structured site overview + recap index.
https://recap.at/llms.txt
curl https://recap.at/llms.txt
# Recap.at > A historical archive of major events, occasions, and cultural moments — reconstructed from structured public sources. ## Featured recaps - [Apollo 11 (1969)](https://recap.at/1969/apollo-11): The Moon landing.
Allows GPTBot, ClaudeBot, Google-Extended, PerplexityBot, and 11 other named AI crawlers alongside the default *. Admin paths disallowed.
https://recap.at/robots.txt
curl https://recap.at/robots.txt
User-agent: * Allow: / User-agent: GPTBot Allow: / User-agent: ClaudeBot Allow: / Sitemap: https://recap.at/sitemap-index.xml
A lightweight iframe-friendly card view. Drop this snippet into a blog post, lesson plan, journalism platform, or knowledge base.
Iframe-friendly minimal recap card. Third-party sites embed via the snippet below. No chrome, no JS, fast, crawlable.
https://recap.at/embed/{year}/{slug}<iframe src="https://recap.at/embed/1969/apollo-11" width="100%" height="400" frameborder="0" style="border-radius: 8px;"></iframe>
<!-- The embedded card renders: --> <a href="https://recap.at/1969/apollo-11"> <img alt="Apollo 11" src="...hero..." /> <p>1969 · United States</p> <h1>Apollo 11</h1> <p>An eight-day round trip to a place no human had stood.</p> <span>Read on Recap.at →</span> </a>
Every recap page embeds a Schema.org @graph containing Article, Event, BreadcrumbList, and Citation nodes cross-referenced by @id. Auto-discoverable alternates are advertised through <link rel="alternate"> in the page <head>: markdown, YAML, JSON-LD, RSS. No additional handshake required — viewers and crawlers find everything from one HTML page.