Datasette

Datasette site metadata as JSON

📚 Open DataHEALTHYchecked 8h ago
AUTH NONECORS AGENT HTTPS COMMERCIAL ?

Datasette publishes SQLite databases as read-only JSON APIs. The project site exposes its own table-of-contents JSON at /content.json — a lightweight health check for the ecosystem.

97HOW IT'S SCORED ⓘ
Status badge · for your READMEshipapis health badge: 97 · healthy
Uptime history
100%90 days
100%30 days
290P50 · ms
892P95 · ms
operationalpartialdownno data
Response time · last 48 checks
Fastest 63 ms, slowest 835 ms, most recent 121 ms.
Live response samplecaptured by our last successful check
GET https://datasette.io/content.json

{
  "database": "content",
  "private": false,
  "path": "/content",
  "size": 21413888,
  "tables": [
    {
      "name": "assets",
      "columns": [
        "url",
        "id"
      ],
      "primary_keys": [
        "id"
      ],
      "count": 1612,
      "hidden": false,
      "fts_table": null,
      "foreign_keys": {
        "incoming": [],
        "outgoing": [
          {
            "other_table": "releases",
            "column": "release",
            "other_column": "id"
          },
          {
            "other_table": "users",
            "column": "uploader",
            "other_column": "id"
          }
        ]
      },
      "private": false
    },
    {
      "name": "blog_posts",
      "columns": [
        "path",
        "year"
      ],
      "primary_keys": [
        "path"
      ],
      "count": 6,
      "hidden": false,
      "fts_table": null,
      "foreign_keys": {
        "incoming": [],
        "outgoing": []
      },
      "private": false
    }
  ],
  "hidden_count": 20,
  "views": [
    {
      "name": "plugins",
      "private": false
    },
    {
      "name": "recent_releases",
      "private": false
    }
  ],
  "queries": [
    {
      "title": "Datasette News and Blog",
      "sql": "with feed_items as (\n  select\n    'tag:datasette.io,' || date as atom_id,\n    'Datasette News: ' || date as atom_title,\n    date || 'T00:00:00-08:00' as atom_updated,\n    'https://datasette.io/news/' || date as atom_link,\n    render_markdown(group_concat(body, char(10) || char(10))) as atom_content_html,\n    'Simon Willison' as atom_author_name,\n    'https://simonwillison.net/' as atom_author_uri,\n    date || 'T00:00:00' as sort_datetime\n  from\n    news\n  group by\n    date\n  union all\n  select\n    'tag:datasette.io,' || trim(path, '/') as atom_id,\n    title as atom_title,\n    replace(datetime_utc, ' ', 'T') || 'Z' as atom_updated,\n    'https://datasette.io' || path as atom_link,\n    html as atom_content_html,\n    author as atom_author_name,\n    author_url as atom_author_uri,\n    datetime_utc as sort_datetime\n  from\n    blog_posts\n)\nselect\n  atom_id,\n  atom_title,\n  atom_updated,\n  atom_link,\n  atom_content_html,\n  atom_author_name,\n  atom_author_uri\nfrom\n  feed_items\norder by\n  sort_datetime desc\nlimit\n  20",
      "name": "feed",
      "private": false
    }
  ]
}
Call itcurl · fetch · python
curl "https://datasette.io/content.json"
const res = await fetch("https://datasette.io/content.json");
const data = await res.json();
console.log(data);
import requests

res = requests.get("https://datasette.io/content.json")
print(res.json())
Endpoints · 3HealthyFULL DOCS ↗
Monitored path responding — GET /content.json290 mschecked 8h ago
GET/content.jsonPROBED

Datasette site metadata as JSON

GET/content.json?limit=5

Paginated variant with limit parameter.

GET/&lt

&Lt — documented GET route.

Machine-readable spec

We probe a documented GET and expect 2xx JSON — full uptime and health score. Export includes every documented route below.

Response-shape history

Stable. No schema drift observed since monitoring began — the response shape has not changed under our checks.

Datasette: common questions

Is Datasette free to use?

Yes — Datasette is a free open data API. Free tier: Free — limits not published. Whether the free tier allows commercial use is unclear — check the provider docs.

Does Datasette need an API key?

No — Datasette needs no API key or signup. You can call it straight away; rate limits still apply (Unpublished).

Can I call Datasette from the browser?

Yes — Datasette returns CORS headers over HTTPS, so front-end code can fetch it directly with no backend proxy. Use the fetch snippet on this page, or hit "Run live" to try it now.

Is Datasette up right now?

As of our last scheduled check, Datasette is healthy with 100% uptime over 90 days and a 290 ms median response. We re-probe it every sweep — the status badge and uptime chart above always show the latest.