Open data · Free · No auth
Upcoming public exam dates for 10 leading exams — SAT, ACT, NEET, JEE Main, GRE, A-Level, GCSE, CAT and AP — as a single cacheable, CORS-enabled JSON feed. Each date carries an official / expected confidence flag and a link to the source. No key, no login, no cookies. Use it, embed it, cite it.
GET /api/exam-datesEvery tracked exam with its full date list and computed next sitting.
GET /api/exam-dates?exam={examId}One exam + its reminders schedule (T-100/30/7/1/0). Unknown ids return 404.
GET https://quizverse.world/api/exam-dates
{
"ok": true,
"generatedAt": "2026-06-04T22:00:00.000Z",
"exams": [
{
"examId": "sat",
"cadence": "fixed",
"sourceName": "College Board",
"source": "https://satsuite.collegeboard.org/sat/registration",
"dates": [
{ "dateIso": "2026-06-06", "label": "June 6, 2026", "confidence": "official" },
{ "dateIso": "2026-08-22", "label": "Aug 22, 2026", "confidence": "expected" }
],
"next": { "dateIso": "2026-06-06", "label": "June 6, 2026", "confidence": "official" }
}
]
}GET https://quizverse.world/api/exam-dates?exam=neet
{
"ok": true,
"exam": {
"examId": "neet",
"cadence": "fixed",
"sourceName": "NTA",
"source": "https://neet.nta.nic.in/",
"dates": [
{ "dateIso": "2026-06-21", "label": "June 21, 2026", "confidence": "official" }
]
},
"next": { "dateIso": "2026-06-21", "label": "June 21, 2026", "confidence": "official" },
"reminders": [
{ "offsetDays": 30, "fireDateIso": "2026-05-22", "label": "T-30" },
{ "offsetDays": 7, "fireDateIso": "2026-06-14", "label": "T-7" },
{ "offsetDays": 1, "fireDateIso": "2026-06-20", "label": "T-1" },
{ "offsetDays": 0, "fireDateIso": "2026-06-21", "label": "Exam day" }
]
}fetch("https://quizverse.world/api/exam-dates?exam=sat")
.then(r => r.json())
.then(({ next, reminders }) => {
// next.dateIso -> "2026-06-06", next.confidence -> "official"
});| Field | Type | Notes |
|---|---|---|
| examId | string | Stable slug — e.g. sat, neet, jee_main, alevel_math |
| cadence | "fixed" | "rolling" | rolling = year-round (e.g. GRE); no single national date |
| sourceName | string | Authority that publishes the date (College Board, NTA, Ofqual…) |
| source | string (url) | Direct link to the official source page (firecrawl-cited) |
| dates[] | PublicExamDate[] | All known/announced sittings |
| dates[].dateIso | string (YYYY-MM-DD) | The sitting date |
| dates[].label | string | Human label, e.g. “Summer 2026 series” |
| dates[].confidence | "official" | "expected" | official = confirmed on the body’s site |
| next | PublicExamDate | null | Soonest future sitting; null for rolling/past-only |
| reminders[] | ReminderTick[] | (?exam= only) T-100/30/7/1/0 fire dates |
10 exams tracked today. Each source is a direct link to the publishing authority.
Free for any use (CC BY 4.0) — commercial included. CORS is open (Access-Control-Allow-Origin: *), cached for an hour at the edge, served anonymously with no cookies.
All we ask: link back with Data: quizverse.world → quizverse.world/data. Dates are refreshed from the official sources cited in each row; treat expected entries as provisional until gazetted.
Drop the exam countdown straight onto your page — it reads this same feed and ticks down to the next official sitting.