ISC2 APIisc2.org ↗
Access ISC2 certification details, exam pricing, training course search, events, and self-study resources via a structured JSON API with 6 endpoints.
What is the ISC2 API?
The ISC2 API exposes 6 endpoints covering the full ISC2 cybersecurity certification catalog, including detailed credential metadata, live exam pricing, and a searchable training course index. The get_certifications endpoint returns every ISC2 credential in one response, while search_training lets you query the course catalog by keyword, delivery type, location, and date — making it straightforward to build tools that map certifications to preparation paths.
No input parameters required.
curl -X GET 'https://api.parse.bot/scraper/1aacbe66-12a0-42ea-a93a-8a5ebb48f2c1/get_certifications' \ -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 isc2-org-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: ISC2 Certification & Training API — bounded, re-runnable."""
from parse_apis.isc2_certification_and_training_api import (
ISC2, CertificationSlug, Currency, CertificationNotFound
)
client = ISC2()
# List all certifications (summary: name, slug, description).
for cert in client.certifications.list(limit=5):
print(cert.name, cert.slug, cert.description)
# Fetch full details for a specific certification by slug enum.
detail = client.certifications.get(slug=CertificationSlug.CISSP)
print(detail.name, detail.sku, detail.accreditations)
# Get exam pricing filtered by currency.
for price in client.certification("cissp").pricing.list(currency=Currency.USD, limit=5):
print(price.sku, price.price, price.currency)
# Search training courses by keyword — take one and inspect.
course = client.trainingcourses.search(query="CISSP", limit=1).first()
if course:
print(course.title, course.vendor_name, course.course_delivery_type)
# Typed error handling: catch when a slug doesn't exist.
try:
client.certifications.get(slug=CertificationSlug.CC)
except CertificationNotFound as exc:
print(f"not found: {exc}")
print("exercised: certifications.list / certifications.get / pricing.list / trainingcourses.search")
Returns all ISC2 cybersecurity certifications with their names, slugs, and short descriptions. The full catalog is returned in a single response with no pagination.
No input parameters required.
{
"type": "object",
"fields": {
"certifications": "array of certification summary objects each containing name, slug, and description"
},
"sample": {
"data": {
"certifications": [
{
"name": "CC",
"slug": "cc",
"description": "Entry-Level Cybersecurity"
},
{
"name": "SSCP",
"slug": "sscp",
"description": "Security Administrator"
},
{
"name": "CISSP",
"slug": "cissp",
"description": "Leadership & Operations"
},
{
"name": "CCSP",
"slug": "ccsp",
"description": "Cloud Security"
},
{
"name": "CGRC",
"slug": "cgrc",
"description": "Governance, Risk and Compliance"
},
{
"name": "CSSLP",
"slug": "csslp",
"description": "Secure Software Development"
},
{
"name": "ISSAP",
"slug": "issap",
"description": "Security Architecture"
},
{
"name": "ISSEP",
"slug": "issep",
"description": "Security Engineering"
},
{
"name": "ISSMP",
"slug": "issmp",
"description": "Security Management"
}
]
},
"status": "success"
}
}About the ISC2 API
Certification Data
The get_certifications endpoint returns the complete ISC2 credential catalog as a single array — no pagination required. Each object includes a name, slug, and description. To retrieve full metadata for a specific credential, pass its slug to get_certification_details. Valid slugs include cissp, ccsp, cc, sscp, cgrc, csslp, issap, issep, and issmp. The detailed response adds sku, full_name, accreditations, and an attributes array that lists experience requirements and relevant standards.
Exam Pricing
get_exam_pricing returns one pricing record per certification exam. The channel parameter accepts a UUID that maps to a regional pricing tier — omitting it defaults to the US/Global Tier 1 channel. Pass an ISO currency code via the currency parameter to receive prices in a specific currency. Each pricing object in the response contains sku, price, currency, and channel, making it possible to cross-reference exam costs against the sku values returned by get_certification_details.
Training Course Search
search_training queries the ISC2 training catalog and returns paginated results. Each hit includes title, description, certification, vendorName, courseDeliveryType, city, country, startDate, and price. Pagination uses a zero-based page parameter with a configurable limit up to 100 results per page. The total and nbPages fields in the response let you walk all pages. Omitting the query parameter returns the full catalog.
Events and Self-Study Resources
get_events and get_self_study_tools return structured CMS page data for their respective ISC2 site sections. Both include page metadata and content components describing upcoming events and exam preparation materials such as textbooks, study guides, and apps. These responses reflect the current published state of those pages.
The ISC2 API is a managed, monitored endpoint for isc2.org — not a raw scraper you maintain. Every endpoint is automatically health-checked on a schedule, and when isc2.org 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 isc2.org 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 certification comparison tool using
name,attributes, anddescriptionfields fromget_certification_details. - Display regional exam pricing tables by querying
get_exam_pricingwith differentchannelandcurrencyvalues. - Create a course finder that filters the training catalog by keyword and delivery type using
search_training. - Cross-reference certification SKUs from
get_certification_detailswith exam prices fromget_exam_pricingto show cost-per-credential. - Aggregate upcoming training dates and locations using
startDate,city, andcountryfields fromsearch_training. - Populate a study plan builder with self-study material categories sourced from
get_self_study_tools. - Sync ISC2 events metadata into a corporate learning management system using
get_eventspage data.
| 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 ISC2 have an official public developer API?+
Which certifications does `get_certification_details` support, and what experience fields does it return?+
get_certification_details accepts nine slugs: cc, cissp, sscp, ccsp, cgrc, csslp, issap, issep, and issmp. For each, the response includes full_name, a marketing description, accreditations, a sku for price cross-referencing, and an attributes array that lists experience requirements and applicable standards.Can I get exam pricing for regions outside the US?+
get_exam_pricing accepts a channel UUID parameter that maps to a regional pricing tier, plus a currency parameter for ISO currency codes. Without these parameters, the response defaults to US/Global Tier 1 pricing. You need to supply the appropriate channel UUID for a non-default region.Does the API return individual member profiles, CPE records, or credential verification data?+
Does `search_training` return instructor-led and online courses together, or can I separate them?+
courseDeliveryType field that indicates the delivery format (e.g. in-person, online, live online). You can filter or group results client-side using that field. The endpoint itself does not accept a delivery type filter parameter — only query, page, and limit are supported.