For Agents
Run arbitrary read-only SQL queries against a hosted SQLite database and receive the result rows as JSON.
Get started with Datasette API in minutes using your preferred integration method.
# Add to your MCP client config (Claude Desktop, Cursor, Windsurf)
{
"jentic": {
"url": "https://api.jentic.com/mcp",
"auth": "oauth"
}
}
# Then ask your agent:
"run a sql query against datasette"
# → Jentic returns the GET /events tool with parameter schema, agent executes.What an agent can do with Datasette API API.
Execute a read-only SQLite SELECT query via GET /content.json
Return result rows as a JSON array shaped via the _shape parameter
Run joins and aggregations across the Datasette content database tables
Power AI agents that need ad-hoc structured queries against a small reference database
GET STARTED
Use for: Run a SQL query against the Datasette content database, Get a JSON result for a SELECT statement, Search Datasette plugin metadata with SQL, Aggregate counts by category from the Datasette projects table
Not supported: Does not handle SQL writes, schema migrations, or PRAGMA statements — use for read-only SELECT queries against the Datasette content database only.
Datasette publishes a read-only HTTP interface for SQLite databases, letting any caller execute a SQL query and receive the results as JSON. This spec exposes the canonical query endpoint on the public datasette.io content database, which contains tooling, plugin, and project metadata maintained by the Datasette project. The API is the same JSON interface the Datasette dashboard uses internally, so whatever you can see in the UI is reachable via SQL.
Drive lightweight reporting without standing up a separate analytics warehouse
Patterns agents use Datasette API API for, with concrete tasks.
★ Ad-hoc SQL Reporting
Analysts and tooling authors run ad-hoc SQL queries against the Datasette content database via GET /content.json to pull plugin lists, project metadata, and tooling references without scraping the Datasette site. Because the endpoint accepts arbitrary SELECT statements, callers can shape exactly the report they need in a single round-trip.
Execute the SQL query 'SELECT name, description FROM plugins WHERE category = ''visualization'' LIMIT 20' against /content.json and return the JSON rows
Plugin Discovery for Tooling
Tooling that builds on Datasette (CLI helpers, generators, doc bots) queries the content database to discover available plugins, their descriptions, and version metadata. The single SQL endpoint is sufficient for read-only metadata browsing because the underlying SQLite schema is well-known and stable.
Run 'SELECT name, repo_url FROM plugins ORDER BY stars DESC LIMIT 10' to fetch the most-starred Datasette plugins
Lightweight Reference Lookups
Documentation sites and chatbots that need to answer questions like 'what Datasette plugins exist for charting' run a focused SELECT against the content database rather than scraping HTML. The JSON-only response shape (_shape=array) keeps parsing trivial on the consumer side.
Run a SELECT to find Datasette plugins tagged 'charts' and return name plus description as JSON for a chatbot answer
AI Agent SQL Tool
AI agents that already know SQL use Datasette through Jentic as a structured query tool against the published content database. The agent generates a SELECT, calls /content.json with sql and _shape=array, and feeds the JSON rows back into its reasoning loop. Because Datasette is read-only and SQLite refuses PRAGMA, the surface is safe to expose to autonomous agents.
Generate and execute a SELECT against /content.json that returns the count of plugins per category, then summarise the top three
1 endpoints — datasette publishes a read-only http interface for sqlite databases, letting any caller execute a sql query and receive the results as json.
METHOD
PATH
DESCRIPTION
/content.json
Execute a read-only SQL query and return JSON rows
/content.json
Execute a read-only SQL query and return JSON rows
Three things that make agents converge on Jentic-routed access.
Credential isolation
The Datasette content endpoint is unauthenticated; Jentic still proxies the call so usage is observable and consistent with the rest of the catalogue, but no API key handling is required.
Intent-based discovery
Agents search by intent (e.g. 'run a SQL query against Datasette') and Jentic returns the GET /content.json operation with its sql and _shape parameters, so the agent can compose and execute SELECTs without learning the Datasette URL convention.
Time to first call
Direct Datasette integration: under an hour — it's a single GET. Through Jentic: under 10 minutes — search, load schema, execute.
Alternatives and complements available in the Jentic catalogue.
Supabase
Supabase exposes a hosted Postgres database via REST and PostgREST; Datasette exposes a hosted SQLite via SQL-over-HTTP.
Choose Supabase for production read-write workloads on Postgres; choose Datasette for read-only SQL against published reference datasets.
Airtable
Airtable offers a no-code structured database with REST endpoints; Datasette is SQL-first with a single query endpoint.
Choose Airtable when business users need to edit the data; choose Datasette when you control the schema and only need SQL read access.
Apify
Apify scrapes data; Datasette is a way to publish small SQLite datasets as a queryable API.
Use Apify to collect data and Datasette to query a small published snapshot of it via SQL.
Specific to using Datasette API API through Jentic.
What authentication does the Datasette API use?
The Datasette content endpoint described in this spec is unauthenticated and read-only — no API key is required. Through Jentic, the call is still proxied so usage is observable, but no credential is involved.
Can I run arbitrary SQL queries against the Datasette API?
Yes, but only read-only SELECT statements. The /content.json endpoint accepts any SQLite-compatible SQL via the sql query parameter and refuses PRAGMA statements, which keeps the surface safe for untrusted callers and AI agents.
What are the rate limits for the Datasette API?
Datasette is a community-hosted service; there is no formal rate limit in the spec, but heavy automated load on datasette.io is discouraged. For production workloads, host your own Datasette instance.
How do I run a SQL query through Jentic?
Search Jentic for 'run a SQL query against Datasette', load the GET /content.json operation, and execute it with the sql parameter set to your SELECT statement and _shape set to 'array'. Jentic returns the JSON rows directly.
Does the Datasette API support write operations?
No. /content.json is strictly read-only and PRAGMA is blocked. To write to a SQLite database via Datasette, host your own instance with the datasette-write plugin and a separate authenticated endpoint.
What database does this Datasette endpoint query?
It queries the public datasette.io content database, which contains Datasette project, plugin, and tooling metadata. The schema is browseable in the Datasette UI at datasette.io and the same tables are reachable via SQL through this endpoint.