API
The full approved dataset is readable over a public endpoint. No key needed for reads. The anon key is public by design and row-level security rules ensure only approved entries are visible.
Endpoint
https://YOUR_PROJECT_REF.supabase.co/rest/v1/public_entriesAppend query parameters to filter, select, and order results. See thePostgREST documentationfor the full query language.
Available fields
| Field | Type | Description |
|---|---|---|
| id | uuid | Unique identifier for the entry |
| task_name | text | Plain-language name for the task |
| task_pattern | enum | extraction, classification, summarisation, generation, reconciliation, translation, analysis, agentic_workflow, conversation, other |
| industry_tags | text[] | One or more industry tags |
| task_unit | text | The unit costs are measured against (e.g. per invoice) |
| provider | text | Lowercase provider slug (e.g. anthropic, openai) |
| model | text | Model identifier as billed |
| prompt_strategy | enum | zero_shot, few_shot, rag, agentic, fine_tuned, other |
| calls_per_unit | numeric | Average API calls per task unit |
| includes_retries | boolean | Whether token figures include failed calls and retries |
| input_tokens_median | integer | Median input tokens per task unit, summed across all calls |
| output_tokens_median | integer | Median output tokens per task unit |
| input_tokens_p90 | integer | 90th percentile input tokens, if provided |
| output_tokens_p90 | integer | 90th percentile output tokens, if provided |
| sample_size | integer | Number of task units measured (minimum 10) |
| measurement_date | date | When the measurement was taken (YYYY-MM-DD) |
| methodology | text | How tokens were measured (the trust mechanism) |
| source_url | text | Optional link to a write-up or benchmark |
| submitter_display | text | Optional public handle for attribution |
| created_at | timestamptz | When the entry was submitted |
Examples
Fetch all entries (curl)
curl "https://YOUR_PROJECT_REF.supabase.co/rest/v1/public_entries" \
-H "apikey: YOUR_ANON_KEY" \
-H "Accept: application/json"Filter by task pattern (curl)
curl "https://YOUR_PROJECT_REF.supabase.co/rest/v1/public_entries?task_pattern=eq.extraction" \
-H "apikey: YOUR_ANON_KEY" \
-H "Accept: application/json"Select specific fields (curl)
curl "https://YOUR_PROJECT_REF.supabase.co/rest/v1/public_entries?select=task_name,model,input_tokens_median,output_tokens_median" \
-H "apikey: YOUR_ANON_KEY" \
-H "Accept: application/json"Fetch from JavaScript (fetch)
const response = await fetch(
"https://YOUR_PROJECT_REF.supabase.co/rest/v1/public_entries?task_pattern=eq.extraction",
{
headers: {
"apikey": "YOUR_ANON_KEY",
"Accept": "application/json",
},
},
);
const entries = await response.json();
console.log(entries);Versioned exports
The full approved dataset is also committed as versioned JSON snapshots indata/exports/ in the GitHub repository, refreshed nightly. These are useful for offline analysis, academic work, or building tools without a live API call.
Rate limits and fair use
The API is hosted on Supabase and subject to their rate limits. For bulk access, prefer the versioned JSON exports over repeated API calls. For automated dashboards, cache results rather than polling at high frequency.