Turso
SQLite databases at the edge, queried over HTTP.
Overall score
65.1/100
turso-http-v2
Measured Oct 5, 2026
Status
Ranked
Complete benchmark. `overall` is a weighted average of the applicable criteria, comparable to other surfaces in the same category and the same rubric version.
Coverage
78% of the rubric
Surfaces
evaluated.
We score a surface, not a product. One product often exposes several, and they are not worth the same.
turso-http-v2restprimary
78% coverage
65.1/100
Criterion
by criterion.
Measured on turso-http-v2, rubric v0.2.0. A criterion with no score is not counted as zero: it is excluded and the weights are renormalised.
Offload Valuejudged · weight 15 · Oct 5, 2026
62/100
Turso's HTTP API is essentially a remote SQLite engine: execute SQL statements, bind parameters, open interactive transactions, dump the schema, and poll migration jobs. The SQL engine does provide genuine computation offload (filtering, joins, aggregation, transactional durability, and the dump reveals a diskann vector index capability), which is more than a dumb store-what-you-send API. But the documented surface here is overwhelmingly persistence and connection management: there is no proprietary data, no external side effect beyond writing rows, and no domain logic the agent doesn't have to author itself. The agent still carries all the cognitive load of composing the SQL and interpreting results.
- https://docs.turso.tech/sdk/http/reference
The endpoint accepts a series of operations to perform against a database connection. The supported operation types are: execute : execute a statement on the connection. close : close the connection.
- https://docs.turso.tech/sdk/http/reference
The endpoint accepts a series of operations to perform against a database connection. The supported operation types are: execute : execute a statement on the connection. close : close the connection.
- https://docs.turso.tech/sdk/http/reference
The endpoint accepts a series of operations to perform against a database connection. The supported operation types are: execute : execute a statement on the connection. close : close the connection.
Interaction Costmeasured · weight 15 · Oct 5, 2026
77/100
Median over 2 successful run(s): 9306.5 tokens, 3 calls. Ratio to the best in "backend-database" (4 surfaces measured, v0.2 scale). Cold, without documentation: 1/1 succeeded.
Error Recoverabilityprobed · weight 15 · Oct 5, 2026
51/100
unknown_endpoint → HTTP 404, clarity 55/100 (field named: yes, allowed values: no, RFC 9457: no) · wrong_type → HTTP 400, clarity 50/100 (field named: no, allowed values: yes, RFC 9457: no) · hallucinated_enum → HTTP 400, clarity 75/100 (field named: yes, allowed values: yes, RFC 9457: no) · unknown_field → HTTP 200, clarity 25/100 (field named: no, allowed values: no, RFC 9457: no)
- https://agentscore-bench-nicolascharr.aws-eu-west-1.turso.io/v2/pipeline
HTTP 401: {"error":"Unauthorized: `unauthorized access attempt on database: empty JWT token`"}
- https://agentscore-bench-nicolascharr.aws-eu-west-1.turso.io/v2/nonexistent_resource_xyz
HTTP 404: {"error":"route not found: [\"v2\", \"nonexistent_resource_xyz\"]"}
- https://agentscore-bench-nicolascharr.aws-eu-west-1.turso.io/v2/pipeline
HTTP 400: {"error":"JSON parse error: invalid type: integer `42`, expected a string at line 1 column 50"}
- https://agentscore-bench-nicolascharr.aws-eu-west-1.turso.io/v2/pipeline
HTTP 400: {"error":"JSON parse error: unknown variant `run`, expected one of `close`, `execute`, `batch`, `sequence`, `describe`, `store_sql`, `close_sql`, `get_autocommit` at line 1 column 26"}
Doc Legibilitymeasured · weight 12 · Oct 5, 2026
31/100
text/markup ratio 1.8% (weight 30) · rendering without JavaScript undetermined (excluded from the calculation) (weight 25) · machine-readable spec: none found (weight 25) · llms.txt: https://docs.turso.tech/llms.txt (weight 10) · 7 runnable example(s) (weight 10). Weighted average over 75 points of available sub-criteria.
Auth Frictionmeasured · weight 10 · Oct 5, 2026
95/100
Authorization: Bearer <key>, verified by a successful call. One header, no ceremony.
- https://agentscore-bench-nicolascharr.aws-eu-west-1.turso.io/v2/pipeline
HTTP 400: {"error":"JSON parse error: unknown variant `run`, expected one of `close`, `execute`, `batch`, `sequence`, `describe`, `store_sql`, `close_sql`, `get_autocommit` at line 1 column 26"}
- https://agentscore-bench-nicolascharr.aws-eu-west-1.turso.io/v2/pipeline
HTTP 200: {"baton":null,"base_url":null,"results":[{"type":"ok","response":{"type":"execute","result":{"cols":[{"name":"1","decltype":null}],"rows":[[{"type":"integer","value":"1"}]],"affected_row_count":0,"las
- https://agentscore-bench-nicolascharr.aws-eu-west-1.turso.io/v2/pipeline
HTTP 401: {"error":"Unauthorized: `unauthorized access attempt on database: empty JWT token`"}
- https://agentscore-bench-nicolascharr.aws-eu-west-1.turso.io/v2/nonexistent_resource_xyz
HTTP 404: {"error":"route not found: [\"v2\", \"nonexistent_resource_xyz\"]"}
Safety & Reversibilityprobed · weight 10
—/100
If I retry after a timeout, do I charge the customer twice?
Payload Efficiencyprobed · weight 8
—/100
Can I ask for only the fields I need, or do I have to swallow 200 attributes to extract one?
Task Atomicitymeasured · weight 6 · Oct 5, 2026
67/100
Median over 2 successful run(s): 9306.5 tokens, 3 calls. Ratio to the best in "backend-database" (4 surfaces measured, v0.2 scale). Cold, without documentation: 1/1 succeeded.
Prior Knowledge Coveragemeasured · weight 5 · Oct 5, 2026
100/100
Median over 2 successful run(s): 9306.5 tokens, 3 calls. Ratio to the best in "backend-database" (4 surfaces measured, v0.2 scale). Cold, without documentation: 1/1 succeeded.
Async Compatibilityprobed · weight 2
—/100
If the operation is asynchronous, can I get the result without hosting a web server?
Tool-Native (MCP)binary · weight 2
—/100
Does the vendor publish an official, maintained MCP server?
Runs, verified
never on the agent’s word.
Every row is a real attempt at the category’s canonical task. Success is verified by reading the created resource back.
| Task | Tokens | Calls | Errors | Docs | Result |
|---|---|---|---|---|---|
| store-and-query-record | 8,941 | 3 | 0 | without | verified |
| store-and-query-record | 9,284 | 3 | 0 | with | verified |
| store-and-query-record | 9,329 | 3 | 0 | with | verified |
The same entry,
without the markup.
You publish this API and dispute a score? The methodology is public and every score above points to the evidence that produced it.