{"data":{"description":"Every post on londopy.github.io/blog as JSON: the full text and metadata, tags, the archive, the numbers, a JSON Feed and shields.io badges. Static files, rebuilt with the blog on every push and every day; read-only, no key, CORS-open. Only published posts appear: a scheduled post shows up on its date.","docs":"https://londopy.github.io/blog/api/","endpoints":[{"group":"Discovery","path":"/blog/api/v1/index.json","summary":"Every endpoint, with its URL","type":"application/json","url":"https://londopy.github.io/blog/api/v1/index.json"},{"group":"Discovery","path":"/blog/api/openapi.json","summary":"This API, described in OpenAPI 3.1","type":"application/json","url":"https://londopy.github.io/blog/api/openapi.json"},{"group":"Discovery","path":"/blog/api/v1/search.json","summary":"Every post, page and tag, in one small file for search","type":"application/json","url":"https://londopy.github.io/blog/api/v1/search.json"},{"group":"Site","path":"/blog/api/v1/site.json","summary":"Title, tagline, links, license and publishing schedule","type":"application/json","url":"https://londopy.github.io/blog/api/v1/site.json"},{"group":"Posts","path":"/blog/api/v1/posts.json","summary":"Every published post, newest first","type":"application/json","url":"https://londopy.github.io/blog/api/v1/posts.json"},{"group":"Posts","params":{"slug":"A post's slug, from posts.json"},"path":"/blog/api/v1/posts/{slug}.json","summary":"One post in full, with its text, headings, code, links and images","type":"application/json","url":"https://londopy.github.io/blog/api/v1/posts/%7Bslug%7D.json"},{"group":"Posts","path":"/blog/api/v1/latest.json","summary":"The newest post, in full","type":"application/json","url":"https://londopy.github.io/blog/api/v1/latest.json"},{"group":"Taxonomy","path":"/blog/api/v1/tags.json","summary":"Tags, most used first, with the posts carrying each","type":"application/json","url":"https://londopy.github.io/blog/api/v1/tags.json"},{"group":"Taxonomy","params":{"tag":"A tag's slug, from tags.json"},"path":"/blog/api/v1/tags/{tag}.json","summary":"One tag, with its posts","type":"application/json","url":"https://londopy.github.io/blog/api/v1/tags/%7Btag%7D.json"},{"group":"Taxonomy","path":"/blog/api/v1/archive.json","summary":"Posts grouped by year and month","type":"application/json","url":"https://londopy.github.io/blog/api/v1/archive.json"},{"group":"Activity","path":"/blog/api/v1/stats.json","summary":"The numbers, all in one place","type":"application/json","url":"https://londopy.github.io/blog/api/v1/stats.json"},{"group":"Feeds","path":"/blog/api/v1/feed.json","summary":"JSON Feed 1.1, with full post content","type":"application/feed+json","url":"https://londopy.github.io/blog/api/v1/feed.json"},{"group":"Feeds","path":"/blog/index.xml","summary":"RSS 2.0, with full post content","type":"application/rss+xml","url":"https://londopy.github.io/blog/index.xml"},{"group":"Badges","params":{"metric":"posts, words, latest or updated"},"path":"/blog/api/v1/badges/{metric}.json","summary":"A shields.io endpoint badge","type":"application/json","url":"https://londopy.github.io/blog/api/v1/badges/%7Bmetric%7D.json"},{"group":"Terminal","path":"/blog/api/v1/posts.txt","summary":"The post list, for curl","type":"text/plain","url":"https://londopy.github.io/blog/api/v1/posts.txt"}],"name":"Londopy Blog API","openapi":"https://londopy.github.io/blog/api/openapi.json","related":{"portfolio_api":"https://londopy.github.io/api/"},"version":"1.0.0"},"meta":{"api":"londopy-blog","docs":"https://londopy.github.io/blog/api/","generated":"2026-09-25T20:47:28Z","self":"https://londopy.github.io/blog/api/v1/index.json","version":"1.0.0"}}