TestPrepPilot

Open data

Public exam data

Every published guide on this site is available as structured data — 477 exams across 19 fields, each row carrying its awarding body, fee, format, question count, pass mark, study time and published salary range. There is no key, no registration and no rate limit.

Rows
477
Fields per row
18
Rows with a source URL
173
Credential fields
19

Which endpoints can I fetch?

Three data URLs plus four discovery documents. All of them are static, cacheable and served with an open CORS policy, so a browser-based agent can read them directly.

URL Content type What it returns
/data/exam-catalog.json application/json All 477 published guides as one object per exam.
/data/exam-catalog.csv text/csv The same rows as CSV, one line per exam.
/data/health.json application/json Descriptor: row count, field count and the confidence breakdown.
/.well-known/openapi.json application/openapi+json OpenAPI 3.1 description of the endpoints above.
/.well-known/ai-catalog.json application/ai-catalog+json ARD manifest listing every machine-readable resource on this site.
/.well-known/agent-skills/site-content/SKILL.md text/markdown How an agent should retrieve, verify and cite these guides.
/auth.md text/markdown Access policy: public, read-only, no key required.

What is in each row?

18 fields per exam, from the awarding body and the exam fee through to the median salary published for the occupation the credential unlocks. Two fields carry the evidence rather than the fact: confidence and sourceUrl.

  • slug
  • name
  • url
  • category
  • awardingBody
  • fee
  • format
  • questions
  • length
  • passMark
  • costRange
  • studyTime
  • salaryRange
  • topics
  • published
  • reviewed
  • confidence
  • sourceUrl

Why does a row have a confidence level?

Because not every figure is equally well sourced, and flattening them would be dishonest. 163 rows are high — the figure is published by the awarding body. 139 are medium — reconciled from several sources and may vary by jurisdiction. 175 are low — a structural estimate that should not be presented as an exact number. Where the research recorded the page it verified against, sourceUrl carries it; where it did not, the field is null rather than guessed.

Frequently asked questions

Is there an API key or rate limit?

No key, no registration and no rate limit. The endpoints are static files with an open CORS policy, so any client can read them. TestPrepPilot asks crawlers to keep requests sequential and to identify themselves honestly.

What does the confidence field mean?

Each row carries a confidence level. 163 rows are "high" (the figure is published by the awarding body), 139 are "medium" (reconciled from several sources and may vary by jurisdiction) and 175 are "low" (a structural estimate that should not be presented as an exact figure).

How current is the data?

Every row carries a published date and the month its guide was last checked against the primary source. 173 of the 477 rows also carry the source URL the research was verified against; where that was not recorded the field is null rather than guessed.

Can I reuse this data?

Yes — quote or cite it freely, with a link to the specific guide you used rather than to the homepage. Fees and eligibility rules change, so a figure should travel with its guide link and, where present, its source URL.