Coloso APIcoloso.global ↗
Access Coloso Global's full course catalog via API. Browse categories, search courses, fetch best sellers, free classes, events, and trending keywords.
What is the Coloso API?
The Coloso Global API gives developers structured access to the platform's entire creative course catalog across 11 endpoints. You can retrieve full course details including pricing metadata, instructor info, keywords, and card assets via get_product_details, or aggregate every published course at once with list_all_products. The API also surfaces editorial layers like best sellers, new releases, free classes, and promotional events.
No input parameters required.
curl -X GET 'https://api.parse.bot/scraper/c2118a9c-fcdf-4312-add3-c3f1f375ba39/get_homepage' \ -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 coloso-global-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: Coloso Global SDK — search courses, browse categories, explore events and catalogs."""
from parse_apis.coloso_global_api import Coloso, Query, Sort, EventCode, CourseNotFound
client = Coloso()
# Search for Blender courses — returns a SearchResult with total count and matched courses.
result = client.courses.search(query=Query.BLENDER, sort=Sort.NEWEST)
print(f"Found {result.total} courses for 'blender'")
for course in result.courses[:3]:
print(f" {course.public_title} — {course.public_description}")
# Browse categories and drill into one category's courses.
first_cat = client.categories.list(limit=3).first()
if first_cat:
for course in first_cat.courses.list(sort=Sort.NEWEST, limit=3):
print(f" [{first_cat.name}] {course.public_title}, opens {course.open_at}")
# List free courses available on the platform.
for fc in client.freecourses.list(limit=3):
print(f" Free: {fc.title} by {fc.instructor}")
# Fetch best sellers catalog with curated sections.
best = client.bestsellercatalogs.get()
for section in best.sections[:2]:
print(f" Section: {section.section_title} ({len(section.items)} items)")
# Fetch a promotional event by code with typed-error handling.
try:
event = client.events.get(event_code=EventCode.SIGNATURE)
print(f"Event: {event.title}")
if event.courses:
for ec in event.courses[:2]:
print(f" • {ec.title} by {ec.instructor}")
except CourseNotFound as exc:
print(f"Event not found: {exc}")
print("exercised: courses.search / categories.list / freecourses.list / bestsellercatalogs.get / events.get")
Fetch the Coloso Global homepage banners and today's top 10 courses. Returns navigation cover banners (keyed by type) and a today_top_10 array which may be empty depending on current site configuration.
No input parameters required.
{
"type": "object",
"fields": {
"banners": "object containing banner arrays keyed by type (e.g. NAVIGATION_COVER)",
"today_top_10": "array of top course items, may be empty"
},
"sample": {
"data": {
"banners": {
"NAVIGATION_COVER": [
{
"id": 3517,
"title": "",
"assets": {
"DESKTOP": [
{
"url": "https://cdn.day1company.io/prod/uploads/202305/111414-569/global-gnb-banner-bestclass.png"
}
]
},
"targetUrl": "/catalog/best"
}
]
},
"today_top_10": []
},
"status": "success"
}
}About the Coloso API
Course Discovery and Search
The search_products endpoint accepts a query string and returns two arrays: courses (catalog matches) and searched (search-ranked results), along with a meta object containing searchKeyword, a total count, and a popularKeywords array. For browsing without a search term, list_categories returns a flat list of 33 category objects — each with a name, id, and url — which you can pass as category_id to get_category_products to retrieve every course in that category, optionally sorted by newest.
Product and Collection Endpoints
get_product_details accepts either a numeric course_id (faster) or a slug string and returns a data array with fields including id, slug, publicTitle, publicDescription, extras, and desktopCardAsset. For bulk collection, list_all_products aggregates and deduplicates courses across all major categories into a single products array with a total count. Editorial collections are available through get_best_sellers (sections like Best Class, Trending Topic, and Editor's Pick), get_new_releases (earlybird and upcoming courses), and get_free_classes (a flat array with a total integer).
Platform Intelligence
get_recommended_keywords returns a recommendedKeywords array of trending search strings alongside a meta.placeholder hint, useful for building autocomplete or surfacing what learners are currently searching. get_event_details takes an event_code slug (e.g. 'signature') and returns event title, description, image, and an associated courses array — covering Coloso's rotating promotional campaigns. The get_homepage endpoint returns banner objects keyed by type (e.g. NAVIGATION_COVER) and a today_top_10 array, though the latter may be empty depending on current site configuration.
The Coloso API is a managed, monitored endpoint for coloso.global — not a raw scraper you maintain. Every endpoint is automatically health-checked on a schedule, and when coloso.global 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 coloso.global 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 course recommendation engine using search_products with keyword queries and ranked result arrays.
- Sync a local course database nightly using list_all_products to get deduplicated product records with slugs and card assets.
- Display a 'free courses' section in an app by polling get_free_classes for its flat array and total count.
- Track editorial curation trends by periodically fetching get_best_sellers sections like Trending Topic and Editor's Pick.
- Power a category browsing UI by chaining list_categories with get_category_products filtered by category_id and sorted by newest.
- Monitor promotional campaigns by querying get_event_details with known event_code slugs to extract featured course listings.
- Populate an autocomplete search bar using recommendedKeywords from get_recommended_keywords.
| 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.