ACCA Global APIaccaglobal.com ↗
Access ACCA exam listings, study resources, and syllabus PDF URLs structured by qualification level via 3 endpoints covering all ACCA exam tiers.
What is the ACCA Global API?
The ACCA Global API exposes 3 endpoints covering exam metadata, study resources, and syllabus documents across all ACCA qualification levels — Foundation, Applied Knowledge, Applied Skills, and Strategic Professional. Use list_exams to retrieve the full catalogue of ACCA exams with their qualification groupings and hierarchy levels, then feed the returned path identifiers into get_exam_resources or get_exam_syllabus to pull structured study material and downloadable PDF links for any specific exam.
curl -X GET 'https://api.parse.bot/scraper/5d6c5d77-c13d-4ecd-8ca4-a8a415c0b335/list_exams?qualification=acca_qualification' \ -H 'X-API-Key: $PARSE_API_KEY'
Typed, relational, agent-ready
A generated client with real types, enums, and the links between objects — the structure a flat JSON response can't carry. Autocompletes in your editor and reads cleanly to coding agents.
- Fully typed · autocompletes
- Objects link to objects
- Typed errors & pagination
Typed Python client. Set up the SDK in your uv project, then pull this API’s typed client:
uv add parse-sdk uv run parse init uv run parse add --marketplace accaglobal-com-api
uv run parse add --marketplace pulls a pinned snapshot of this canonical API — it won’t change underneath you. To customize it, subscribe and swap to your own copy.
"""Walkthrough: ACCA SDK — browse exams, resources, and syllabus PDFs."""
from parse_apis.accaglobal_com_api import ACCA, Qualification, ExamNotFound
client = ACCA()
# List all exams filtered to foundation level
for exam in client.exams.list(qualification=Qualification.FOUNDATION_LEVEL, limit=5):
print(exam.title, exam.level)
# Drill into one ACCA Qualification exam and get its study resources
exam = client.exams.list(qualification=Qualification.APPLIED_KNOWLEDGE, limit=1).first()
if exam:
resources = exam.resources()
print(resources.exam_title, resources.description[:80])
for phase in resources.study_phases:
print(f" Phase: {phase.study_phase}")
for r in phase.resources:
print(f" - {r.title} (CBE: {r.computer_based})")
# Get syllabus PDF URLs for the same exam
if exam:
syllabus = exam.syllabus()
print(syllabus.exam_title, syllabus.syllabus_page_url)
for pdf in syllabus.syllabus_pdfs:
print(f" {pdf.title}: {pdf.pdf_url}")
# Handle a non-existent exam path gracefully
try:
bad_exam = client.exam(path="/nonexistent/path")
bad_exam.resources()
except ExamNotFound as exc:
print(f"Not found: {exc}")
print("exercised: exams.list / exam.resources / exam.syllabus / ExamNotFound")
Lists all ACCA exams with their qualification categories and hierarchy levels. Each exam includes its title, path identifier, qualification group, and level within the ACCA structure. Results can be filtered by qualification or level. The path returned for each exam serves as the identifier for get_exam_resources and get_exam_syllabus.
| Param | Type | Description |
|---|---|---|
| qualification | string | Filter exams by qualification or level. Omitting returns all exams. |
{
"type": "object",
"fields": {
"exams": "array of exam objects with title, path, qualification, level, priority",
"total": "integer"
},
"sample": {
"data": {
"exams": [
{
"path": "/gb/en/student/exam-support-resources/fundamentals-exams-study-resources/f1",
"level": "applied_knowledge",
"title": "Business and Technology (BT)",
"priority": "1",
"qualification": "acca_qualification"
},
{
"path": "/gb/en/student/exam-support-resources/foundation-level-study-resources/fa1",
"level": "foundation",
"title": "FA1 Recording Financial Transactions",
"priority": "1",
"qualification": "foundation_level"
}
],
"total": 27
},
"status": "success"
}
}About the ACCA Global API
Exam Catalogue
list_exams returns an array of exam objects, each carrying a title, path, qualification, level, and priority field. The optional qualification parameter filters results to a specific tier — pass a value like Applied Skills to scope the response. The total count is always included. The path field from each result is the key input to the other two endpoints.
Study Resources by Exam
get_exam_resources accepts an exam_path and returns a structured breakdown of study materials organized into study_phases (e.g. "Getting started", "Learning and revision"). Each phase contains a resources array where individual entries describe the resource title, description, format availability flags (valid_cbe for computer-based, valid_papers for paper-based), and a content path. The exam_title and description fields give context about the exam itself.
Syllabus Documents
get_exam_syllabus resolves syllabus metadata for a given exam_path. The response includes syllabus_pdfs — an array of objects with title and pdf_url — pointing directly to downloadable ACCA syllabus and study guide PDF documents, along with applicable date ranges. A syllabus_page_url is also returned, linking back to the official ACCA page for that exam.
The ACCA Global API is a managed, monitored endpoint for accaglobal.com — not a raw scraper you maintain. Every endpoint is automatically health-checked on a schedule, and when accaglobal.com changes and a check fails, the API is automatically queued for repair and re-verified. It is built to keep working as the site underneath it changes.
This isn't an official accaglobal.com API — it's an independent, maintained REST wrapper over public data. Where the source has no official API (or only a limited one), Parse gives you a stable contract over a source that never promised one, and keeps it current. Need a new endpoint or field? You can revise it yourself in plain English and the agent rebuilds it against the live site in minutes — contributing the change back to the shared API is free.
Will this API break when the source site changes?+
Is this an official API from the source site?+
Can I fix or extend this API myself if I need a new endpoint or field?+
What happens if I call an endpoint that has an issue?+
- Build a study planner app that lists all ACCA exams by qualification level using the
qualificationfilter inlist_exams - Generate a resource index for a given exam by fetching
study_phasesand their associated resources fromget_exam_resources - Programmatically download or cache current ACCA syllabus PDFs by extracting
pdf_urlvalues fromget_exam_syllabus - Track which exams support computer-based format using the
valid_cbeflag returned byget_exam_resources - Map the full ACCA qualification hierarchy — Foundation through Strategic Professional — using
levelandqualificationfields fromlist_exams - Sync syllabus date ranges into an academic calendar tool by reading the PDF metadata from
get_exam_syllabus
| Tier | Price | Credits/month | Rate limit |
|---|---|---|---|
| Free | $0/mo | 100 | 5 req/min |
| Hobby | $30/mo | 1,000 | 20 req/min |
| Developer | $100/mo | 5,000 | 100 req/min |
One credit = one API call regardless of which marketplace API you call. Exceeding the rate limit returns a 429 response. Authenticate with the X-API-Key header.
Does ACCA Global offer an official developer API?+
What does `list_exams` return and how can I filter it?+
title, path, qualification, level, and priority, plus a total integer. Pass the optional qualification parameter to restrict results to a specific tier such as Foundation or Strategic Professional. Omitting the parameter returns all exams across all levels.Does `get_exam_resources` distinguish between computer-based and paper-based formats?+
valid_cbe boolean and a valid_papers boolean at the top level of the response, indicating which delivery formats apply to that exam. Individual resource objects in the study_phases array include their own format and content path fields.Does the API cover ACCA mock exams, past papers, or practice question banks?+
list_exams, structured study phase resources via get_exam_resources, and syllabus PDF links via get_exam_syllabus. You can fork this API on Parse and revise it to add an endpoint targeting past paper or mock exam resources if those paths are available on the source.How current is the syllabus data returned by `get_exam_syllabus`?+
syllabus_pdfs array includes date range metadata reflecting the periods the PDFs are applicable for, as published by ACCA. The data reflects what is currently listed on the ACCA exam support pages; it is not a historical archive of past syllabuses.