Udemy API scraper
Udemy API scraper
/udemy/v1/search2 creditsSearch Udemy courses by keyword (any topic, e.g. 'python', 'excel', 'machine learning'). Returns a paginated list of course cards — id, title, headline, instructors, rating, review count, level, duration, language — most-relevant first. Feed a result's course_id into detail / pricing / reviews / curriculum. Page with `page`; meta.has_more / meta.total_count tell you how many.
| Parameter | Allowed / range | Description | |
|---|---|---|---|
| query | required | — | The keyword(s) to search Udemy courses for (a topic, skill, tool or course title — e.g. 'python', 'excel formulas', 'aws certified'). |
| page = 1 | optional | 1–1000 | Page number (results are paginated). Page until meta.has_more is false. |
| page_size = 12 | optional | 1–24 | Results per page (1-24, default 12). |
/udemy/v1/detail1 creditFull course card for a Udemy course by URL, slug or id: title, headline, instructors, rating, review count, subscriber count, level, language, duration, price, category, description, what-you'll-learn, requirements and target audience.
| Parameter | Allowed / range | Description | |
|---|---|---|---|
| course_id | optional | — | The Udemy course to look up — its numeric id (the number in /course/<slug>/ → api id), its slug, or a full Udemy course URL (https://www.udemy.com/course/the-complete-python-bootcamp/). A URL/slug is resolved to the course automatically. |
/udemy/v1/pricing1 creditLive price, list price and discount price for one or many Udemy courses by id (comma-separated). Fast, lightweight — use it to track current/sale pricing.
| Parameter | Allowed / range | Description | |
|---|---|---|---|
| course_ids | required | — | One or more numeric Udemy course ids, comma-separated (up to 50). Get ids from the detail action. |
/udemy/v1/reviews1 creditPaginated public student reviews for a course by id: star rating, review text, date and the instructor's reply. Page with `page` — meta.has_more / meta.review_count tell you how many.
| Parameter | Allowed / range | Description | |
|---|---|---|---|
| course_id | required | — | Numeric Udemy course id to pull reviews for (from the detail action). |
| page = 1 | optional | 1–1000 | Page number (results are paginated). Page until meta.has_more is false. |
| page_size = 10 | optional | 1–100 | Reviews per page (1-100, default 10). |
/udemy/v1/curriculum1 creditThe course outline by id: chapters and lectures in order, with title, position, lecture asset type and whether the lecture is a free preview. Paginated.
| Parameter | Allowed / range | Description | |
|---|---|---|---|
| course_id | required | — | Numeric Udemy course id (from the detail action). |
| page = 1 | optional | 1–1000 | Page number (results are paginated). Page until meta.has_more is false. |
| page_size = 20 | optional | 1–100 | Items per page (1-100, default 20). |
/udemy/v1/by_instructor1 creditBrowse every course published by a Udemy instructor, by their numeric instructor id. Returns a paginated list of course cards (id, title, rating, price, level, instructors) — use it to discover courses to feed into detail/pricing/reviews/curriculum. Get the instructor id from any course's instructors[] (detail action).
| Parameter | Allowed / range | Description | |
|---|---|---|---|
| instructor_id | required | — | Numeric Udemy instructor id (the id in a course's instructors[].id, available from the detail action). |
| page = 1 | optional | 1–1000 | Page number (results are paginated). Page until meta.has_more is false. |
| page_size = 20 | optional | 1–100 | Items per page (1-100, default 20). |
/udemy/v1/categories1 creditThe live Udemy category taxonomy (Development, Business, IT & Software, Design, …) with ids, titles and slugs. Pass a category_id to drill into its subcategories. Use this to map the Udemy catalogue structure.
| Parameter | Allowed / range | Description | |
|---|---|---|---|
| category_id | optional | — | Optional. A category id (from this action) to list its subcategories instead of the top-level categories. |
curl -X POST https://api.reefapi.com/udemy/v1/search \
-H "x-api-key: $REEF_KEY" \
-H "content-type: application/json" \
-d '{"query":"python"}'{
"ok": true,
"data": { /* the result */ },
"meta": {
"latency_ms": 240,
"record_count": 12,
"completeness_pct": 100
},
"error": null
}