Developers
The Kids Off iPads catalog API is read-only and free. It lists every free activity and every shop product as JSON or Markdown, for apps, scripts and AI agents.
- Base URL: https://kidsoffipads.com/api/v1/catalog
- Version: 1.0.0
- OpenAPI: https://kidsoffipads.com/openapi.json
- Auth: None. Every endpoint is a public, read-only GET. There is no API key and no sign-up.
Endpoints
| Method | Path | Returns |
|---|---|---|
| GET | /api/v1/catalog | Site overview: activity counts, shop products and discovery URLs |
| GET | /api/v1/catalog/products | Shop products with USD prices and availability |
| GET | /api/v1/catalog/products/{id} | One shop product |
| GET | /api/v1/catalog/word-searches | Word searches |
| GET | /api/v1/catalog/word-searches/{slug} | One word search and its word list |
| GET | /api/v1/catalog/color-by-number | Color-by-number pictures |
| GET | /api/v1/catalog/color-by-number/{slug} | One color-by-number picture and its color key |
| GET | /api/v1/catalog/mazes | Mazes |
| GET | /api/v1/catalog/mazes/{slug} | One maze |
| GET | /api/v1/catalog/dot-to-dot | Dot-to-dot pictures |
| GET | /api/v1/catalog/dot-to-dot/{slug} | One dot-to-dot picture |
| GET | /api/v1/catalog/criss-cross | Criss-cross puzzles and their word banks |
| GET | /api/v1/catalog/criss-cross/{slug} | One criss-cross puzzle and its word bank |
| GET | /api/v1/catalog/word-scrambles | Word scramble pages |
| GET | /api/v1/catalog/word-scrambles/{slug} | One word scramble page |
| GET | /api/v1/catalog/spot-the-difference | Spot the difference puzzles |
| GET | /api/v1/catalog/spot-the-difference/{slug} | One spot the difference puzzle |
| GET | /api/v1/catalog/sudoku | Sudoku puzzles in 4x4, 6x6 and 9x9 |
| GET | /api/v1/catalog/sudoku/{slug} | One sudoku |
Lists return every match in one JSON array. There is no pagination.
Filters
q: Words to match in the title, description, topic or word list (also `query` or `search`).level: easy, challenge or expert. Each list's OpenAPI entry names the levels it has.category: A topic slug such as animals. Word searches, criss-cross, word scrambles and spot the difference only.
Examples
curl https://kidsoffipads.com/api/v1/catalog curl "https://kidsoffipads.com/api/v1/catalog/word-searches?q=farm&level=easy" curl https://kidsoffipads.com/api/v1/catalog/products curl -H "Accept: text/markdown" https://kidsoffipads.com/api/v1/catalog/mazes curl https://kidsoffipads.com/api/v1/catalog/products.md curl -i https://kidsoffipads.com/api/v1/catalog/mazes/not-a-maze
JSON and Markdown
Responses are JSON unless you ask for Markdown with Accept: text/markdown or by adding .md to the path. Every public page on the site works the same way: /shop.md is the shop as Markdown.
Errors
Errors are RFC 9457 problem details with application/problem+json. code is stable, and resolution says what to do next.
{
"type": "about:blank",
"title": "Not Found",
"status": 404,
"detail": "No catalog collection matches /api/v1/catalog/mazes/not-a-maze.",
"code": "not_found",
"resolution": "Check the path against /llms.txt or GET /api/v1/catalog."
}Versioning and deprecation
Canonical paths start with /api/v1/catalog. The unversioned /api/catalog paths are aliases of v1 and return the same responses.
Breaking changes ship as a new version path (/api/v2/catalog); adding fields or collections is not breaking and ships in v1. Nothing is deprecated today. When a version or the unversioned /api/catalog alias is deprecated, its responses carry a Deprecation header (RFC 9745), a Sunset header (RFC 8594) with the removal date, and a Link header with rel="deprecation" pointing at /developers, at least 90 days before it stops answering. The notice is also posted on /developers and in this document.
Discovery files
MCP server
- URL: https://kidsoffipads.com/mcp
- Server card: https://kidsoffipads.com/.well-known/mcp/server-card.json
Read-only Streamable HTTP tools, no sign-in: find activities, get one with its PDF link, list the shop, and play a word search right in the chat. make_word_search turns a child's spelling list into a word search to play and print. Hosts that support MCP Apps show the grid as a game. In Claude: Settings > Connectors > Add custom connector, then paste https://kidsoffipads.com/mcp.
WebMCP
In a browser with WebMCP (`document.modelContext`, a W3C Community Group draft), these pages offer tools to the browser's agent. Other browsers load nothing extra and see no change.
make_word_searchon https://kidsoffipads.com/word-search-maker: Make a word search on this page from a list of 4 to 20 words, like a child's spelling list. It fills in the maker form, shows the puzzle on the page, and returns the grid, the words, a link to share the puzzle (playUrl) and a link to print it as a PDF with an answer key (pdfUrl). If the list breaks a rule, the result's error says what to fix.print_this_puzzleon https://kidsoffipads.com/word-searches/{slug}: Get the printable PDF of the word search on this page, in the layout shown now, with an answer key on the second page. Returns pdfUrl for the person to open and print; it doesn't open anything itself.
Buying
Checkout is not an API. A person buys in the shop through Stripe Checkout. Agents must never invent Stripe keys or charge a card. Prices are on the pricing page.
Contact
Questions about the API go to hello@kidsoffipads.com.