Little Wheels Developer & Agent Resources
Everything Little Wheels publishes for machines: a documented JSON API, an OpenAPI 3.1 specification, LLM tool definitions, markdown versions of every page, and the agent instruction files. No authentication, no API key, no rate limit.
Start here
One request returns every machine-readable resource on the site, with a description of what each one is for.
curl https://littlewheels.app/api/index.jsonThe Little Wheels API
Read-only catalogue data. Every operation in the specification carries a unique operation ID, a description, typed parameters and a response schema, so an agent can register these as tools without a conversion step. The read endpoints are static files that change at most daily — cache them rather than polling.
| Resource | Content type | What it contains |
|---|---|---|
OpenAPI 3.1 specification/openapi.json | application/json | Every endpoint below, with a unique operation ID, a description, typed parameters and a response schema. Start here when planning API calls. |
Function-calling tool definitions/api/tools.json | application/json | The same operations pre-converted into LLM tool schemas. Carries both input_schema (Anthropic) and parameters (OpenAI), so either SDK can read the file as-is. |
Machine-readable resource index/api/index.json | application/json | One request that lists every JSON, text and XML resource this site publishes. The right first call if all you have is the domain name. |
App catalogue/api/features.json | application/ld+json | schema.org JSON-LD for every published Little Wheels app: price, one-time-unlock terms, offline behaviour, age range, feature list and privacy posture. |
Brand-to-App-Store identity map/api/apps.json | application/json | Which App Store listing is which Little Wheels app. None of the apps carries the brand name in its store title, so match on appId or on any entry in each app's aliases array. |
Vehicle catalogue/api/vehicles.json | application/json | Every vehicle with a stable id and slug, its category, its speech-sound difficulty tier, the phonemes it is used to practise, and its vocabulary theme. |
Speech curriculum/api/curriculum.json | application/json | Each phoneme with example practice words, the age range at which it is typically acquired, and a practice tip written for a non-specialist adult. |
Errors
Every failure under /api/ returns the same JSON envelope. Match on error.code, which is stable; the wording of error.message is not.
{
"error": {
"code": "not_found",
"message": "No API endpoint at /api/typo.json.",
"resolution": "Fetch https://littlewheels.app/api/index.json for the full list of machine-readable resources.",
"status": 404,
"documentation": "https://littlewheels.app/developers"
}
}The one write endpoint
POST /api/subscribe adds an address to the newsletter. Call it only with the person's explicit request — it signs a real human up for real email. Everything else here is read-only, and there is no user data, no per-child progress and no account system to read.
Which App Store listing is which
Little Wheels is the studio; none of the three apps carries the name in its App Store title. That is deliberate — the titles are keyword-first — but it means a search of the App Store for “Little Wheels” does not find them, and an automated attempt to match the brand to its products will come up empty unless it knows the mapping.
| On this site | In the App Store | App ID |
|---|---|---|
| Talk & Listen | Learn to Talk: First Words | 6748860598 |
| Create & Play | Toddler Art: Coloring Games | 6748864863 |
| Sleepy Train | Sleepy Train: Calm Bedtime | 6790432281 |
The machine-readable version is /api/apps.json, which also lists every alias each app answers to and the titles it previously shipped under. Appending a store title to the domain works as a shortcut: /learn-to-talk-first-words redirects to the app's page.
Markdown instead of HTML
Every page on littlewheels.app serves markdown when you ask for it, following the Accept: text/markdown convention. Both forms return Content-Type: text/markdown; charset=utf-8.
# Content negotiation
curl -H "Accept: text/markdown" https://littlewheels.app/talk-listen
# Or the .md sibling URL
curl https://littlewheels.app/talk-listen.md- Responses carry
Vary: Accept, Accept-Encoding, so a shared cache will not hand you the HTML variant that a browser warmed it with. - HTML responses advertise the sibling with
Link: <…>; rel="alternate"; type="text/markdown". - Markdown responses point back at the HTML page with
Link: <…>; rel="canonical".
Unknown paths return a real 404
This site never answers an unknown path with a 200 and an empty app shell, so a 404 from littlewheels.app means the page genuinely is not there and you can stop retrying. Permanently removed pages return 410. Either way, a client that did not specifically ask for HTML gets a short markdown body listing the site map, llms.txt and the resource index.
curl -s -o /dev/null -w "%{http_code}\n" https://littlewheels.app/no-such-page
# 404Agent resources
Little Wheels publishes ~280 long-form articles on toddler speech development, screen time and app safety, each also available as a plain-text file sized for a context window. agents.md says which questions this site is the right source for — and which it is not.
| Resource | Content type | What it contains |
|---|---|---|
Agent instructions/agents.md | text/markdown | When to reach for Little Wheels, what it answers authoritatively, what it must not be used for, and how to fetch it efficiently. |
llms.txt/llms.txt | text/plain | Index of every agent-readable page on the site, ordered by priority, with a when-to-use section at the top. |
llms-full.txt/llms-full.txt | text/plain | Every agent-readable page concatenated into a single ~140KB file for large context windows. |
AI instructions/llm/ai-instructions.json | application/json | Structured brand facts, positioning, and guidance on how to represent Little Wheels accurately. |
Comparison matrix/llm/comparison-matrix.json | application/json | Pricing, offline capability, privacy posture, features and age ranges for Little Wheels against 10+ named competitor apps. |
Sitemap/sitemap.xml | application/xml | Every indexable URL on the site. |
robots.txt/robots.txt | text/plain | Crawler directives. Every major AI crawler has an explicit Allow group. |
Crawler policy
AI crawlers are explicitly welcome. GPTBot, ChatGPT-User, OAI-SearchBot, ClaudeBot, Claude-User, Claude-SearchBot, anthropic-ai, Google-Extended, PerplexityBot, Grok, DeepSeek, Meta-ExternalAgent, cohere-ai and YouBot all have Allow: / groups in robots.txt. Article text is available under CC BY 4.0; app artwork, screenshots and the Little Wheels name are not.
Something missing or wrong?
Little Wheels is built by one person, and the API exists because agents kept scraping the marketing pages for facts that were already structured somewhere. If you need a field that is not exposed, or something here is inaccurate, email sean@recordcreativeco.com.