Discover/BSI Group API
live

BSI Group APIbsigroup.com

Search BSI Group training courses, qualifications, schedules, and categories. Filter by topic, standard, level, or delivery format via 9 structured endpoints.

Endpoint health
verified 4d ago
list_courses_by_delivery_format
list_course_categories
search_training_courses
get_course_detail
get_course_schedule
9/9 passing latest checkself-healing
Endpoints
9
Updated
26d ago

What is the BSI Group API?

The BSI Group API provides 9 endpoints for querying training courses, qualifications, and scheduled sessions from bsigroup.com. Use search_training_courses to find courses by keyword, topic ID, or ISO standard ID, or call get_course_detail to retrieve full course metadata including duration, learning outcomes, course code, and a direct booking link. list_course_categories exposes the full taxonomy of topics, standards, levels, and delivery formats needed to drive other filters.

Try it
Page number for pagination.
Search keyword to filter courses.
Comma-separated topic IDs to filter by (e.g. '37' for Risk Management). IDs available from list_course_categories.
Comma-separated standard IDs to filter by (e.g. '16' for ISO 9001). IDs available from list_course_categories.
api.parse.bot/scraper/10a3ec1c-75a0-4c4b-82d3-dad846bc39fe/<endpoint>
Ready to send
Fill in the parameters and hit sign in to send to see live response data here.
Call it over HTTPgrab a free API key at signup
curl -X GET 'https://api.parse.bot/scraper/10a3ec1c-75a0-4c4b-82d3-dad846bc39fe/search_training_courses?page=1&query=ISO+9001&topics=1&standards=3' \
  -H 'X-API-Key: $PARSE_API_KEY'
Python SDK · recommended

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 bsigroup-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.

"""BSI Group Training API - discover courses, get details, check schedules."""
from parse_apis.bsi_group_training_api import (
    BSITraining, CourseLevel, DeliveryFormat, CourseNotFound
)

client = BSITraining()

# List available categories to discover topic/standard IDs for filtering.
categories = client.categorylists.list()
print(categories.topics[0].id, categories.topics[0].name)

# Search for ISO 9001 courses — limit caps total items fetched.
for course in client.coursesummaries.search(query="ISO 9001", limit=3):
    print(course.title, course.price, course.url)

# Filter by level using the enum, then drill into the first result.
course_summary = client.coursesummaries.by_level(
    level=CourseLevel.LEAD_AUDITOR, limit=1
).first()

if course_summary:
    # Navigate from summary to full detail (separate fetch).
    detail = course_summary.details()
    print(detail.title, detail.duration, detail.course_code)

    # From the detail, fetch the schedule of available sessions.
    sched = detail.schedule()
    for entry in sched.schedules[:3]:
        print(entry.date, entry.venue, entry.price, entry.availability)

# Typed error handling: attempt to fetch a non-existent course.
try:
    client.courses.get(url="/en-GB/training-courses/does-not-exist-course/")
except CourseNotFound as exc:
    print(f"Course not found: {exc.url}")

print("Exercised: categorylists.list, coursesummaries.search, by_level, details, schedule, courses.get")
All endpoints · 9 totalmissing one? ·

Full-text search over BSI training courses with optional topic and standard filters. Returns paginated results ordered by relevance. Paginates via integer page counter. Each item is a lightweight summary; use get_course_detail for full information.

Input
ParamTypeDescription
pageintegerPage number for pagination.
querystringSearch keyword to filter courses.
topicsstringComma-separated topic IDs to filter by (e.g. '37' for Risk Management). IDs available from list_course_categories.
standardsstringComma-separated standard IDs to filter by (e.g. '16' for ISO 9001). IDs available from list_course_categories.
Response
{
  "type": "object",
  "fields": {
    "items": "array of course summary objects with title, url, industry, topic, and price",
    "pages": "integer total number of pages",
    "total": "integer total number of matching courses",
    "current_page": "integer current page number"
  },
  "sample": {
    "data": {
      "items": [
        {
          "url": "https://www.bsigroup.com/en-GB/training-courses/iso-9001-2026-transition-training-course/",
          "price": "From £799",
          "title": "ISO/FDIS 9001:2026 Transition Training Course",
          "topic": "Quality Management",
          "industry": "Multiple industries"
        }
      ],
      "pages": 4,
      "total": 31,
      "current_page": 1
    },
    "status": "success"
  }
}

About the BSI Group API

Course Search and Filtering

The search_training_courses and search_qualifications endpoints accept optional query, topics, and standards parameters and return paginated arrays of course objects. Each item includes title, url, industry, topic, and price. Pagination is controlled via the page parameter; the response includes pages, total, and current_page so you can walk the full result set. Topic and standard IDs used in filters are not arbitrary — they must come from list_course_categories, which returns structured arrays of topics, standards, levels, and delivery formats with their respective IDs and names.

Course Detail and Schedule Data

get_course_detail takes a course URL path or full URL and returns a rich object: title, duration, course_code, description, booking_link (pointing to the Salesforce booking page), whats_included, learning_outcomes, and who_should_attend. The course_code (e.g. QMS08001ENUK) is the key input for get_course_schedule, which returns an array of schedule objects each containing date, venue, language, price, and availability, along with a salesforce_url for the schedule page.

Browsing by Taxonomy

Three dedicated list endpoints let you browse courses by a single dimension without a text query. list_courses_by_topic accepts a topic_id from list_course_categories. list_courses_by_standard accepts a standard_id (e.g. '19' for ISO 9001). list_courses_by_level accepts a level name string such as 'lead auditor' or 'internal auditor'. list_courses_by_delivery_format filters by format strings including 'classroom-based', 'live online', 'on-demand elearning', and 'in-house'. All four return the same paginated course object shape.

Reliability & maintenanceVerified

The BSI Group API is a managed, monitored endpoint for bsigroup.com — not a raw scraper you maintain. Every endpoint is automatically health-checked on a schedule, and when bsigroup.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 bsigroup.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.

Last verified
4d ago
Latest check
9/9 endpoints passing
Maintenance
Monitored & self-healing
Will this API break when the source site changes?+
It's built not to. Every endpoint is health-checked on a schedule with automated test probes. When the source site changes and a check fails, the API is automatically queued for repair and re-verified — that's the self-healing layer. Each API page shows when its endpoints were last verified. And because marketplace APIs are shared, any fix reaches everyone using it.
Is this an official API from the source site?+
No — Parse APIs are independent, managed REST wrappers over publicly available data. That is the point: where a site has no official API (or only a limited one), Parse gives you a maintained, monitored endpoint for that data and keeps it working as the site changes — so you get a stable contract over a source that never promised one.
Can I fix or extend this API myself if I need a new endpoint or field?+
Yes — and you don't have to wait on us. This API was generated by the Parse agent, which stays attached. Describe the change in plain English ("add an endpoint that returns reviews", "fix the price field") in the revise box on the API page or via the revise_api MCP tool, and the agent rebuilds it against the live site in minutes. Contributing the change back to the public API is free.
What happens if I call an endpoint that has an issue?+
Errors are machine-readable: a bad call returns a clean status with the list of available endpoints and a repair hint, so an agent (or you) can recover or trigger a fix instead of failing silently. Confirmed failures feed the automatic repair queue.
Common use cases
  • Build a course comparison tool that pulls schedules and pricing for multiple BSI ISO audit courses via get_course_schedule.
  • Aggregate all BSI qualifications related to ISO 9001 by passing standard ID '19' to list_courses_by_standard.
  • Populate a learning management system with BSI course metadata including learning outcomes and target audience from get_course_detail.
  • Generate a filterable directory of BSI courses grouped by delivery format using list_courses_by_delivery_format.
  • Monitor seat availability for specific scheduled courses by polling get_course_schedule on a recurring basis.
  • Map BSI training offerings to job role requirements by filtering courses by level (e.g. 'lead auditor') using list_courses_by_level.
  • Sync a corporate training catalogue with current BSI course titles, prices, and booking links for internal procurement tooling.
Pricing & limitsSee full pricing →
TierPriceCredits/monthRate limit
Free$0/mo1005 req/min
Hobby$30/mo1,00020 req/min
Developer$100/mo5,000100 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.

Frequently asked questions
Does BSI Group have an official public developer API?+
BSI Group does not publish a documented public developer API for its training catalogue. This API provides structured access to that data.
What does `list_course_categories` return and why do I need it?+
list_course_categories returns four arrays: topics (with Id and Name), standards (with Id and Name), levels (with id and name), and delivery_formats (with id and name). The numeric IDs from topics and standards are required inputs for the topics and standards filter parameters in search_training_courses, search_qualifications, list_courses_by_topic, and list_courses_by_standard. Without calling this endpoint first, those filter values are not reliably known.
Does `get_course_schedule` require a course code, or can I pass a URL?+
Either works. If you provide only a url, the endpoint resolves the course code from the course detail page and then fetches the schedule. If you already have the course_code from a prior get_course_detail call, you can pass it directly and skip the extra lookup. The response always includes the resolved course_code alongside the schedules array.
Does the API cover BSI certification audits, standards documents, or membership data?+
No. The API covers training courses, qualifications, course schedules, and the associated taxonomy (topics, standards, levels, delivery formats). Certification audit services, BSI standards publications, and membership information are not included in any current endpoint. You can fork this API on Parse and revise it to add endpoints targeting those areas of bsigroup.com.
Are course results available for regions outside the UK?+
The current endpoints return courses from BSI's primary catalogue and resolve URLs through the en-GB locale path. Courses available in other regional storefronts (e.g. US, Asia-Pacific) are not currently covered. You can fork this API on Parse and revise it to target BSI's regional URL variants.
Page content last updated . Spec covers 9 endpoints from bsigroup.com.
Related APIs in EducationSee all →
isc2.org API
Discover ISC2 cybersecurity certifications, compare exam pricing, and search training courses to plan your professional development path. Find upcoming events and self-study resources to prepare for your desired certification.
ucas.com API
Search and explore UK university courses, apprenticeships, and scholarships all in one place, while discovering detailed information about education providers and their offerings. Find the perfect educational path by filtering courses and apprenticeships by your preferences and accessing comprehensive provider details to inform your decisions.
boslive.icai.org API
Access the ICAI Board of Studies Knowledge Portal, including announcements, examination updates, Live Virtual Class (LVC) and Live Virtual Revisionary Class (LVRC) schedules, and study materials. Browse available courses, languages, and papers, and retrieve direct PDF links for any portal page.
hyperskill.org API
Explore Hyperskill.org's learning content by browsing tracks, projects, stages, and topics, or retrieve detailed information about any specific course component and educational provider. Search and filter through the platform's complete curriculum to find exactly what you need for your learning journey.
gassaferegister.co.uk API
Search for Gas Safe registered businesses and engineers across the UK by city or postcode, then retrieve detailed information about their qualifications and services. Find certified gas engineers in your area and verify their registration status to ensure safe, compliant work on your gas appliances.
shiksha.com API
Search and browse Shiksha colleges by stream/course, then fetch detailed institute profiles and course offerings, plus upcoming exam schedules by stream.
scholarshipportal.com API
Search and discover scholarships, degree programmes, and universities across StudyPortals' global education database, with the ability to filter by countries, disciplines, and other criteria. Get detailed information about specific scholarships and programmes to compare educational opportunities that match your academic interests.
bbb.org API
bbb.org API