Exam topics coverage
See how much of the syllabus you have covered: 18 topics done out of 24 is 75% coverage, with 6 topics and 25% still to go. Free in your browser.
- Free
- Runs in your browser
- No sign-up
- Your data stays on your device
Run — free
Worked example
- Topics completed
- 18
- Total topics
- 24
- Remaining topics
- 6
- Coverage percent
- 75
- Coverage label
- 75%
- Remaining percent
- 25
Exam preparation is a syllabus race: boards, universities, and certification bodies publish topic lists, and candidates need a clear answer to how much of that list they have actually covered. Counting finished chapters by hand and converting the fraction into a percent is simple arithmetic, but it is easy to misplace remaining topics when the list is long, when units were skipped, or when a study tracker only stores raw counts. This exam topics coverage tool accepts how many topics you have completed and how many sit on the official syllabus, then returns coverage percent, remaining topics, remaining percent, and a short status message. No network call, no model, and no invented progress—just a deterministic percent of exam topics studied.
What exam topics coverage means and how the percent is computed
Exam topics coverage answers a single planning question: of every discrete topic listed on the syllabus for this exam, what share have you already studied. Eighteen topics finished on a twenty-four-topic list is seventy-five percent coverage with six topics left; twelve of forty is thirty percent with twenty-eight remaining; zero of fifty is zero percent with the full syllabus still open; all topics completed yields one hundred percent and zero remaining.
The tool does not grade quality of study, weight high-value units, or estimate pass probability—it only reports syllabus breadth covered as a clean percentage. That honesty matters when coaches set weekly targets: a student can raise coverage from forty to sixty percent by finishing a known count of topics without inventing fractional progress that the official list does not support.
Where coverage tracking fits your revision
Certification coaches publish a fixed blueprint and want weekly coverage percent for every cohort without opening a spreadsheet. University exam-prep portals let students tick syllabus outcomes and need a live percent for the dashboard progress ring. Tutoring centers report parent updates as “studied X of Y topics (Z percent)” with a contract that never invents progress.
Failed validation does not consume balance. Pair this coverage percent with your own schedule or daily study-hours tools for time planning; keep this capability focused on breadth of topics touched so product language stays honest. Pin rounded percentages in tests, document that quality of mastery is out of scope, and you get reproducible syllabus progress for edge workers, LMS plugins, and coaching dashboards without maintaining a private calculator of your own.
What you can do with it
Certification blueprint progress
Convert finished blueprint topics and total syllabus items into a coverage percent and remaining count for weekly coaching reviews.
Student syllabus dashboard
Show learners how much of the official topic list they have studied as a clear percentage next to a progress ring.
Study app remaining-work digests
Map stored completed-topic counts into coverage and remaining percent for push digests and exam-countdown screens.
FAQ
How do you calculate exam topics coverage percent?
For example, 18 of 24 topics is 75% coverage with 6 topics remaining.
What counts as a topic?
Any discrete item on your official syllabus or exam blueprint that you treat as one unit—chapter, outcome, or blueprint cell. Both inputs must use the same list so the percent is meaningful.
Does this measure mastery quality?
No. It only reports breadth: how many syllabus topics are marked studied versus the full list. Depth, scores, and pass probability are out of scope.
Can I enter more completed topics than the syllabus has?
No. Claiming more finished topics than the list contains is refused instead of being quietly capped at 100%, so a typo in your tracker shows up rather than hiding behind a full progress bar.
Do bigger or more important topics count for more?
No. Every topic on the list counts once, whatever its size or exam weight. The percentage shows how much of the syllabus you have touched, not how likely you are to pass.
Related tools
For developers — API access
Everything on this page is available programmatically. This section is for teams who want to wire it into their own systems; everyone else can just use the tool above.
API endpoint
Prefer to automate it? One authenticated POST creates the task; the result comes back by webhook or a signed link. The same capability also runs here on the web, by email and from Telegram — and soon from our app too.
Call it from your stack
curl -X POST https://api.kit.forhosting.com/edu/exam-topics-coverage \
-H "Authorization: Bearer $KIT_KEY" \
-H "Content-Type: application/json" \
-d '{"topics_completed":18,"total_topics":24}'const res = await fetch("https://api.kit.forhosting.com/edu/exam-topics-coverage", {
method: "POST",
headers: {
"Authorization": `Bearer ${process.env.KIT_KEY}`,
"Content-Type": "application/json"
},
body: JSON.stringify({
"topics_completed": 18,
"total_topics": 24
})
});
const { task_id } = await res.json();import os, requests
res = requests.post(
"https://api.kit.forhosting.com/edu/exam-topics-coverage",
headers={"Authorization": f"Bearer {os.environ['KIT_KEY']}"},
json={
"topics_completed": 18,
"total_topics": 24
},
)
task_id = res.json()["task_id"]<?php
$res = file_get_contents("https://api.kit.forhosting.com/edu/exam-topics-coverage", false, stream_context_create([
"http" => [
"method" => "POST",
"header" => "Authorization: Bearer " . getenv("KIT_KEY") . "\r\nContent-Type: application/json",
"content" => '{"topics_completed":18,"total_topics":24}',
],
]));
$task = json_decode($res, true);body := bytes.NewBufferString(`{"topics_completed":18,"total_topics":24}`)
req, _ := http.NewRequest("POST", "https://api.kit.forhosting.com/edu/exam-topics-coverage", body)
req.Header.Set("Authorization", "Bearer "+os.Getenv("KIT_KEY"))
req.Header.Set("Content-Type", "application/json")
res, _ := http.DefaultClient.Do(req)Example request
{
"topics_completed": 18,
"total_topics": 24
}Example response
{
"task_id": "tsk_a1b2c3d4e5f6a1b2c3d4e5f6",
"type": "edu.exam_topics_coverage",
"status": "queued",
"_links": {
"result": "/tasks/tsk_…/result"
}
}The API is asynchronous: the call returns a task_id immediately and the result arrives by webhook. Polling is capped at 1 req/s per task.
Pricing
Published price — no tokens, no invented credits. A failed task is never charged.
Errors
| HTTP | Code | Meaning |
|---|---|---|
401 | unauthorized | Missing or invalid API key. |
402 | insufficient_balance | Your balance doesn't cover the task price. |
404 | unknown_type | That task type doesn't exist. |
429 | rate_limited | Too many requests. Use the webhook instead of polling. |
Technical notes
What exam topics coverage means and how the percent is computed
The inputs are two non-negative integers. topics_completed is the count of syllabus items you mark as done—chapters finished, learning outcomes checked off, or blueprint cells you have practiced. total_topics is the full count of items on that same syllabus or blueprint. Coverage percent is topics_completed divided by total_topics, multiplied by one hundred, then rounded with a stable half-up rule to the decimal places you choose. Remaining topics equal total_topics minus topics_completed, and remaining percent is the complementary share so progress bars and “still to go” labels stay consistent.
Input contract, response fields, and validation rules
POST a JSON object with required topics_completed and total_topics. topics_completed must be a non-negative integer; total_topics must be a positive integer. Numeric strings are accepted after trim; booleans, objects, empty strings, non-integers, and non-finite values are rejected with invalid_input. topics_completed must not exceed total_topics—claiming more finished items than the syllabus contains is out of scope and fails instead of clamping silently. Optional aliases include completed, studied, done, and covered for topics_completed, and total, syllabus, syllabus_total, and topics for total_topics, so thin clients can reuse familiar field names without renaming trackers. Optional decimals is an integer from zero through six and defaults to two; it controls half-up rounding of coverage_percent and remaining_percent. On success the body returns topics_completed, total_topics, remaining_topics, coverage_percent as a number, coverage_label with a percent sign, remaining_percent, remaining_label, fraction_label such as 18/24, formula, decimals, and a short message sentence suitable for UI copy or SMS study digests. Missing fields, non-numeric input, zero or negative total_topics, non-integer counts, completed above total, or decimals outside zero through six throw invalid_input and are not billed. Example: topics_completed eighteen and total_topics twenty-four with default decimals yields seventy-five percent coverage and six remaining. Example: topics_completed twenty and total_topics twenty with decimals zero yields one hundred percent and zero remaining.
Where an exam topics coverage API fits real study workflows
Mobile study apps store completed topic ids and call a tiny parse endpoint to show remaining work before the exam date.
Technical questions
Can topics_completed exceed total_topics?
No. If completed is greater than total the request fails with invalid_input instead of clamping or inventing over-100% coverage.
What does the exam topics coverage calculator cost?
The browser tool is free. API requests use prepaid KIT balance at $0.002 per successful call; invalid input is not billed.