For Agents
Run arbitrary read-only SQL queries against a hosted SQLite database and receive the result rows as JSON.
Install Jentic One Beta
Jentic One is a self-hosted execution layer for AI agents. It lets your agent call the Datasette API, or any other public or private API you need. You set the rules, the agent never sees your credentials, and every call is logged.
Two steps, two machines. Install the instance in a safe environment, then register your agent from wherever it runs.
Step 1: Jentic One Host machine
# On the machine that will host your Jentic One instance:
curl -fsSL https://raw.githubusercontent.com/jentic/jentic-one/main/tools/install.sh | shStep 2: Agent machine
# On the machine where your agent runs (keep this separate from the instance):
curl -fsSL https://raw.githubusercontent.com/jentic/jentic-one/main/tools/install.sh | sh
jentic register # connects your agent to your Jentic One instanceJentic One is in public beta. The setup above keeps your agent separate from the instance, which is what you want before using real credentials: an agent running as the same OS user as Jentic One can read its stored keys directly. Just evaluating? A single local install is fine to start. See the secure deployment guide for the tiers.
What an agent can do with Datasette 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
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.
Power AI agents that need ad-hoc structured queries against a small reference database
Drive lightweight reporting without standing up a separate analytics warehouse
Patterns agents use Datasette 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.
Specific to using Datasette 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.