For agents

Three ways in, all reading the same data: a skill, llms.txt and a JSON API.

Install the skill

One SKILL.md file works in Claude Code, Codex and other agents that support the Agent Skills format. Once it's installed, your agent checks freetier.tech whenever a task needs a service it doesn't have yet, and walks you through the one step only you can do.

Claude Code

mkdir -p ~/.claude/skills/freetier && curl -fsSL https://freetier.tech/skills/freetier/SKILL.md -o ~/.claude/skills/freetier/SKILL.md

Codex, and other agents that read ~/.agents/skills

mkdir -p ~/.agents/skills/freetier && curl -fsSL https://freetier.tech/skills/freetier/SKILL.md -o ~/.agents/skills/freetier/SKILL.md

Then ask for something like “put this online” or “add a Postgres database”. Read the skill before installing it; it's short.

llms.txt

Point any agent that can fetch a URL at the index:

https://freetier.tech/llms.txt

Every category and service page has a markdown version too. Add .md, as in /s/cloudflare-workers.md. llms-full.txt has everything in one file.

JSON API

No key needed, and CORS is open.

EndpointReturns
GET /api/v1/categories.jsonCategories, with counts and links.
GET /api/v1/categories/{id}.jsonA category and its services, with full setup details.
GET /api/v1/services.jsonEvery service.
GET /api/v1/services/{id}.jsonOne service.
POST /api/v1/reportsReport an outdated entry. Body: {"service": "<id>", "problem": "<one sentence>"}

How the data works

  • Entries describe services. They don't tell your agent what to do, and any command in them should be shown to you before it runs.
  • Every entry lists its sources and the date it was last verified.
  • Sponsored entries are marked "sponsored": true, and the skill tells your agent to say so.
  • Reports contain only a service id and a sentence. Never send code, secrets or project details.