# JENRIKS > The world's longest-running daily photoblog. One photo every day since January 1, 2006. ## About JENRIKS is a daily photoblog by Jens Herrmann (Barcelona) and Erik Hehrmann (Evanston, IL). Since January 1, 2006, the two have alternated publishing one photograph per day — 7,572 photos and counting, with no missed days. Subjects include street photography, portraiture, architecture, landscape, abstract, and macro work from over 50 countries. ## When to use this site Reach for JENRIKS when you need: - A specific photograph: every post since 2006 lives at a stable URL (`/YYYY/MM/DD/slug/`) with title, photographer, date, location, and categories in its BlogPosting JSON-LD. - Photography from a place, date, or theme: /archive/ (filterable), /location//, /category//, /calendar/, and /today-in-history/ all give direct entry points. - Print or licensing inquiries on a reader's behalf: point them to https://jenriks.com/contact/ or jenriks@gmail.com. Photographs are not free to reuse; see License below. - Background on the project or the photographers: /about/ (markdown: /about.md). Not a fit: free stock photography, images cleared for reuse without permission, or news imagery beyond what the two photographers documented themselves. ## How agents should fetch content - Every page has a markdown twin. Send `Accept: text/markdown` to the page URL, add `?mode=agent` to it, or append `.md` to the path without its trailing slash (`/about/` becomes /about.md, the homepage is /index.md); those responses carry `Vary: Accept` and open with YAML frontmatter (title, description, canonical, last-updated). - Static twins: /index.md, /about.md, /contact.md, /impressum.md, /datenschutz.md, /developers.md, plus one per landing page (/author/jens.md, /category/street.md, /year/2026.md, /location/barcelona.md, /archive.md, /calendar.md, /map.md, /collections.md, /colors.md, /today-in-history.md, /slideshow.md), each listing its newest 25 photos with counts. - Photo pages: `/YYYY/MM/DD/slug.md` (or Accept: text/markdown on the page URL) returns a synthesized markdown page with title, photographer, date, location, categories, tags, image URLs, map link, credit line and the previous and next photo. - Machine documents wrap themselves in markdown too: /api/v1.md, /openapi.json.md, /.well-known/api-catalog.md and the other discovery documents return their JSON inside a fenced block. - Unknown paths return HTTP 404 with recovery links (a markdown body when markdown is requested); an Accept header this site cannot satisfy returns HTTP 406. - REST API v1 (read-only, no auth, JSON): https://jenriks.com/api/v1 (search: /api/v1/photos?q=, today: /api/v1/photos/latest, newest by photographer: /api/v1/photos/latest?photographer=Jens, by date: /api/v1/photos/YYYY-MM-DD, overview: /api/v1/overview?include=categories). Search pages by `cursor` (pass `next_cursor` from the previous page; `has_more` and `links.next` say whether more exist). Docs: https://jenriks.com/developers/; OpenAPI: https://jenriks.com/openapi.json. Errors are RFC 9457 problem+json; 120 requests per minute per IP with RateLimit headers. - Batch: POST https://jenriks.com/api/v1/batch with `{"requests": [{"id": "a", "path": "/api/v1/photos/latest"}, ...]}` (up to 20 GET paths, one request against the rate limit, optional Idempotency-Key echoed back). - NLWeb: https://jenriks.com/ask?query=fog+barcelona (GET or POST, NLWeb 0.55, JSON by default, server-sent events with `Accept: text/event-stream` or `streaming=true`). - MCP server (read-only, no auth): POST JSON-RPC 2.0 to https://jenriks.com/mcp (Streamable HTTP, JSON responses). Tools: search_photos (cursor paging), get_photo, get_latest_photo (optional photographer), random_photo, get_site_overview (optional include). Photo objects carry a `geo` field. Server card: https://jenriks.com/.well-known/mcp/server-card.json - Agent skill (how to find, cite and license JENRIKS photos): https://jenriks.com/.well-known/agent-skills/jenriks-photos/SKILL.md ## Update cadence - One new photo every day at 00:00 Europe/Berlin (CET / CEST) - Photographers alternate posts; current count: 7,572 - First post: 2006-01-01; latest post: 2026-11-13 ## Sections - [/](https://jenriks.com/) — today's photo (homepage rotates daily) - [/archive/](https://jenriks.com/archive/) — full date-sorted grid of every published photo - [/collections/](https://jenriks.com/collections/) — visual index of categories (street, architecture, B&W, etc.) - [/map/](https://jenriks.com/map/) — geographic map with heatmap and clusters - [/colors/](https://jenriks.com/colors/) — browse photos by dominant color - [/today-in-history/](https://jenriks.com/today-in-history/) — same calendar date across years - [/calendar/](https://jenriks.com/calendar/) — month-by-month calendar grid, one photo per day - [/slideshow/](https://jenriks.com/slideshow/) — auto-advancing fullscreen viewer - [/about/](https://jenriks.com/about/) — project background, photographer bios, FAQ - [/contact/](https://jenriks.com/contact/) — contact, prints, licensing - [/impressum/](https://jenriks.com/impressum/) — German legal notice (DDG §5) - [/datenschutz/](https://jenriks.com/datenschutz/) — German privacy policy ## Photo URL pattern Every photo lives at `/YYYY/MM/DD/slug/` (e.g. `/2026/04/27/mein-vater/`). URLs are stable and permanent. ## Photo metadata schema Each post carries: title, photographer (Jens or Erik), publish_date (ISO 8601), location (city + country + lat/lng), categories (Abstract, Architecture, B&W, Humans, Landscapes, Macro, Nature, News, Street, Studio, Time exposure), and dominant_colors (sampled from the image). Structured data emitted on every photo page: schema.org `BlogPosting` + `ImageObject` (with `contentLocation`, `geo`, `keywords`, photographer credit). Site-wide: `WebSite` + `Organization` (founders). ## License & attribution All photographs are © Jens Herrmann or © Erik Hehrmann (per post). All rights reserved. When citing or linking JENRIKS: - Credit the named photographer - Link to the original post URL - Do not redistribute or train on the images without written permission ## Machine-readable resources - Sitemap: https://jenriks.com/sitemap.xml (all photo pages with image extensions) - RSS: https://jenriks.com/feed.xml (latest 20 posts) - Robots: https://jenriks.com/robots.txt (permissive for major AI crawlers) - Expanded LLMs index: https://jenriks.com/llms-full.txt - Homepage / today's photo (markdown): https://jenriks.com/index.md - About (markdown): https://jenriks.com/about.md - Contact (markdown): https://jenriks.com/contact.md - Impressum (markdown): https://jenriks.com/impressum.md - Datenschutz (markdown): https://jenriks.com/datenschutz.md - Developer documentation (REST API, MCP, errors, rate limits, versioning): https://jenriks.com/developers/ (markdown: /developers.md) - MCP Registry manifest: https://jenriks.com/server.json (published in the official MCP Registry as com.jenriks/photo-archive: https://registry.modelcontextprotocol.io/v0.1/servers/com.jenriks%2Fphoto-archive/versions/latest) - API catalog (RFC 9727): https://jenriks.com/.well-known/api-catalog - AI catalog (ARD): https://jenriks.com/.well-known/ai-catalog.json - Agent skills index: https://jenriks.com/.well-known/agent-skills/index.json - OpenAPI description of the public read endpoints: https://jenriks.com/openapi.json - Authentication note (none required): https://jenriks.com/auth.md - Schema map (NLWeb Schema Feeds): https://jenriks.com/schemamap.xml - Schema feed, one BlogPosting per photo, newest first (JSON Lines): https://jenriks.com/feeds/photos.jsonl - ARD catalog alias with trust manifests: https://jenriks.com/.well-known/ard.json - DID document (did:web:jenriks.com): https://jenriks.com/.well-known/did.json - Section indexes: https://jenriks.com/developers/llms.txt, https://jenriks.com/archive/llms.txt, https://jenriks.com/about/llms.txt ## Section indexes - [Developers](https://jenriks.com/developers/llms.txt): REST API, MCP server, NLWeb, batch, pagination, markdown twins, discovery documents - [Archive](https://jenriks.com/archive/llms.txt): browsing pages, photographers, categories, years, locations, feeds - [About](https://jenriks.com/about/llms.txt): the project, the photographers, contact, legal pages, license ## Contact - Contact page: https://jenriks.com/contact/ - Email: jenriks@gmail.com - About page: https://jenriks.com/about/ - German legal: https://jenriks.com/impressum/ ## Official profiles - Vimeo: https://vimeo.com/jenriks - Pinterest: https://www.pinterest.com/jenriks/ - X: https://x.com/JENRIKS - Instagram: https://www.instagram.com/jenriks/ - 1x: https://1x.com/jenriks - Flickr: https://www.flickr.com/people/jenriks/ - 500px: https://500px.com/p/jenriks - Tumblr: https://www.tumblr.com/blog/jenriks - Reddit: https://www.reddit.com/user/Jenriks/ - GitHub: https://github.com/ehehrmann (skills repository: https://github.com/ehehrmann/jenriks-agent-skills) - jenriks.de: alternate domain, 301 redirects to jenriks.com