---
title: "API"
description: "A free JSON API for Tom Sharman's record. No key, CORS open, CC BY 4.0 with a link back."
canonical: https://tomsharman.com/api/
updated: 2026-10-25
---

# API

> A free JSON API for Tom Sharman's record. No key, CORS open, CC BY 4.0 with a link back.

Static JSON, rebuilt with the site. No key and no rate limit. `Access-Control-Allow-Origin: *`. Licensed CC BY 4.0: quote it and use it, with a link back to the page the fact came from. Every response carries `license`, `attribution` and `generated`.

## Which endpoints are there?

| Endpoint | What it holds |
| --- | --- |
| [/api/meta.json](/api/meta.json) | Counts, the generated date, the licence and this list |
| [/api/videos.json](/api/videos.json) | All 720 videos: id, title, channel, company, published, views, likes, form, runtime, what Tom did, the company basis, the era, playable, thumbnail, page and markdown URLs |
| [/api/channels.json](/api/channels.json) | Every channel: videos and views in the tracker, subscribers where fetched, who they are |
| [/api/career.json](/api/career.json) | 38 roles: organisation, role, dates, evidence |
| [/api/numbers.json](/api/numbers.json) | The quotable numbers, each with its evidence grade and note |
| [/api/playbooks.json](/api/playbooks.json) | 7 playbooks, 49 principles, with page, markdown and animation URLs |
| [/api/lessons.json](/api/lessons.json) | The lessons: question, one line answer, page |
| [/api/events.json](/api/events.json) | Upcoming appearances, past dates dropped |
| [/api/wiki.json](/api/wiki.json) | Every page: path, title, updated, summary, URL, markdown URL |
| [/api/entity-map.json](/api/entity-map.json) | Typed entities and sourced relations |

## What changes, and when?

Fields are added, never renamed or removed without a new endpoint. Numbers move as the production tracker updates; `generated` says when.

## Is there anything live?

Two things, both on the same origin: `/mcp`, the MCP server (Streamable HTTP, read only), and `/ask/api`, Tom Sharman AI, which has daily limits. See [for agents](/for-agents/).
