bsigroup.com APIbsigroup.com ↗
Search BSI Group training courses, qualifications, schedules, and categories. Filter by topic, standard, level, or delivery format via 9 structured endpoints.
curl -X GET 'https://api.parse.bot/scraper/10a3ec1c-75a0-4c4b-82d3-dad846bc39fe/search_training_courses?query=ISO+9001' \ -H 'X-API-Key: $PARSE_API_KEY'
Search and list training courses with optional filters for keyword, topics, and standards. Returns paginated results.
| Param | Type | Description |
|---|---|---|
| page | integer | Page number for pagination. |
| query | string | Search keyword to filter courses. |
| topics | string | Comma-separated topic IDs to filter by (e.g. '37' for Quality Management). IDs available from list_course_categories. |
| standards | string | Comma-separated standard IDs to filter by (e.g. '19' for ISO 9001). IDs available from list_course_categories. |
{
"type": "object",
"fields": {
"items": "array of course 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 bsigroup.com 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.
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.
- 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'tolist_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_scheduleon a recurring basis. - Map BSI training offerings to job role requirements by filtering courses by level (e.g.
'lead auditor') usinglist_courses_by_level. - Sync a corporate training catalogue with current BSI course titles, prices, and booking links for internal procurement tooling.
| 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 | 250 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 BSI Group have an official public developer API?+
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?+
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?+
Are course results available for regions outside the UK?+
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.