Datasette

Datasette site metadata as JSON

📚 Open DataUNMONITORED
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.

HOW IT'S SCORED ⓘ
Status badge · for your READMEshipapis health badge: — · unmonitored
ON PROBE SCHEDULE

We probe a documented GET and expect 2xx JSON — full uptime and health score. Open provider docs ↗

Uptime historystarts after first probe

On our probe schedule. Uptime charts appear after the first check lands.

Example responsefrom provider docs — not verified by us
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 · 3On scheduleFULL DOCS ↗
On schedule — GET /content.json awaits first probe
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

Not tracked yet. Shape-change history starts once this API joins our probe schedule.

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?

Datasette is catalogued but not yet on our probe schedule, so we don't publish a live status for it. Check the provider's own status page or docs for its current state.