---
name: markdown-negotiation
description: Fetch any Raster marketing or docs page as Markdown instead of HTML by sending an `Accept: text/markdown` header. Use when an agent needs token-efficient, parser-friendly content from raster.app pages such as pricing, blog posts, changelog entries, or terms.
---

# Markdown content negotiation on raster.app

Every page under `https://raster.app` (marketing, pricing, blog, changelog, terms, privacy, etc.) is available in two representations:

- **HTML** — the default browser representation.
- **Markdown** — a static, token-efficient version generated at build time.

## How to fetch the Markdown version

Send `Accept: text/markdown` on a normal `GET` request. The server rewrites the URL to the corresponding `.md` file and responds with `Content-Type: text/markdown`.

```bash
curl -H "Accept: text/markdown" https://raster.app/pricing
curl -H "Accept: text/markdown" https://raster.app/blog/why-raster
curl -H "Accept: text/markdown" https://raster.app/changelog/2025-05-04
```

The same files can also be fetched directly by appending `.md` to the path:

```bash
curl https://raster.app/pricing.md
curl https://raster.app/blog/why-raster.md
```

## Discovering all available pages

A complete index of Markdown URLs is published at:

```
https://raster.app/llms.txt
```

This is a Markdown sitemap intended for LLM and agent crawlers. Each entry is a link to a `.md` page with a one-line description.

## Excluded paths

The rewrite intentionally skips:

- `/.well-known/*` — agent discovery endpoints (return JSON, not Markdown).
- `/robots.txt` — served as plain text.
- Any path already ending in `.md`.

## Notes

- This skill covers public content access only. For programmatic access to user data (libraries, photos, tags), use the GraphQL API at `https://api.raster.app/` with an API key.
