# Udemy API: Search courses by topic

> Searches Udemy courses on a topic and returns US visitor prices in USD, ratings, lecture counts and course details.

Unofficial. Not affiliated with or endorsed by Udemy.

- Page: https://fous.com/methods/udemy.com/search-courses
- Method: `udemy.com/search_courses`, version 1
- Website: udemy.com
- Returns: title, headline, instructors, rating, number of ratings, video hours, lectures, level, current and original price, bestseller flag, last updated, image and course link
- Effect: read (it gets data and changes nothing)
- Sign-in: none needed
- Cost: 1 credit per completed run (1¢ with pay as you go); failed runs are free
- Verified: Nov 2, 2026

## Inputs

| Field | Type | Required | In the run below | Description |
|---|---|---|---|---|
| `sort` | string | no |  | Order of search results, for example most_reviewed. One of "most_relevant", "most_reviewed", "highest_rated", "newest". Default "most_relevant". |
| `level` | string | no | `"expert"` | Course level to show, for example beginner; all includes every level. One of "all", "beginner", "intermediate", "expert". Default "all". |
| `topic` | string | yes | `"SQL"` | Topic or skill to search, for example Excel. |
| `free_only` | boolean | no |  | Show only free courses, for example true. Default false. |
| `max_results` | integer | no | `60` | Maximum courses to return, for example 20. Default 20. |

## Output

From a run on Oct 23, 2026, shortened. Its input:

```json
{
  "level": "expert",
  "topic": "SQL",
  "max_results": 60
}
```

Its output:

```json
{
  "courses": [
    {
      "level": "Expert",
      "title": "The Advanced SQL Server Masterclass For Data Analysis",
      "rating": 4.7,
      "headline": "Take your SQL skills - and your career - to the next level",
      "bestseller": false,
      "image_link": "https://img-c.udemycdn.com/course/240x135/4069268_523a_2.jpg",
      "course_link": "https://www.udemy.com/course/advanced-sql-server-masterclass-for-data-analysis",
      "instructors": [
        "Travis Cuzick"
      ],
      "last_updated": "10/2026",
      "current_price": {
        "amount": 18.99,
        "currency_code": "USD"
      },
      "original_price": {
        "amount": 119.99,
        "currency_code": "USD"
      },
      "number_of_ratings": 5996,
      "total_video_hours": 9,
      "number_of_lectures": 89
    },
    {
      "level": "Expert",
      "title": "Advanced SQL : The Ultimate Guide (2026)",
      "rating": 4.3,
      "headline": "Level Up Your Oracle SQL Knowledge From Intermediate to Advanced and Become an In-Demand Database SQL Expert in Oracle!",
      "bestseller": false,
      "image_link": "https://img-c.udemycdn.com/course/240x135/753174_8624_14.jpg",
      "course_link": "https://www.udemy.com/course/sql-advanced",
      "instructors": [
        "Database Masters | 300,000+ Successful Students Worldwide",
        "Code Star Academy"
      ],
      "last_updated": "9/2026",
      "current_price": {
        "amount": 19.99,
        "currency_code": "USD"
      },
      "original_price": {
        "amount": 139.99,
        "currency_code": "USD"
      },
      "number_of_ratings": 6540,
      "total_video_hours": 14,
      "number_of_lectures": 146
    },
    {
      "level": "Expert",
      "title": "SQL Advanced",
      "rating": 4.5,
      "headline": "Lead yourself to enhance your SQL skills and transform into Senior SQL Developer. Learn SQL by doing with me.",
      "bestseller": false,
      "image_link": "https://img-c.udemycdn.com/course/240x135/525156_62b1_3.jpg",
      "course_link": "https://www.udemy.com/course/advanced-sql-tutorial",
      "instructors": [
        "Amarnath Reddy"
      ],
      "last_updated": "12/2018",
      "current_price": {
        "amount": 12.99,
        "currency_code": "USD"
      },
      "original_price": {
        "amount": 64.99,
        "currency_code": "USD"
      },
      "number_of_ratings": 1533,
      "total_video_hours": 4.5,
      "number_of_lectures": 82
    }
  ]
}
```

## Run it

From code, with a Fous API key in `FOUS_API_KEY`; the answer's `data` holds the output:

```bash
curl https://api.fous.com/v1/runs \
  -H "Authorization: Bearer $FOUS_API_KEY" \
  -H "Content-Type: application/json" \
  -d '{"method":"udemy.com/search_courses","input":{"level":"expert","topic":"SQL","max_results":60}}'
```

From an AI agent connected to the Fous MCP server: its `run` with the same method and input. To connect one, give it `set up https://fous.com/SKILL.md`.

## Ask your agent

- Find me the top rated beginner Excel courses on Udemy with video hours and prices in USD
- I need a list of free Python courses sorted by most reviewed, showing lecture counts
- Show intermediate-level graphic design courses ordered by newest, including bestseller flags
- Which expert machine learning courses have the highest ratings and how many ratings do they have?
- Give me up to 10 beginner guitar courses with current and original prices and links

## Input schema

```json
{
  "type": "object",
  "required": [
    "topic"
  ],
  "properties": {
    "sort": {
      "enum": [
        "most_relevant",
        "most_reviewed",
        "highest_rated",
        "newest"
      ],
      "type": "string",
      "default": "most_relevant",
      "description": "Order of search results, for example most_reviewed."
    },
    "level": {
      "enum": [
        "all",
        "beginner",
        "intermediate",
        "expert"
      ],
      "type": "string",
      "default": "all",
      "description": "Course level to show, for example beginner; all includes every level."
    },
    "topic": {
      "type": "string",
      "minLength": 1,
      "description": "Topic or skill to search, for example Excel."
    },
    "free_only": {
      "type": "boolean",
      "default": false,
      "description": "Show only free courses, for example true."
    },
    "max_results": {
      "type": "integer",
      "default": 20,
      "maximum": 60,
      "minimum": 1,
      "description": "Maximum courses to return, for example 20."
    }
  },
  "additionalProperties": false
}
```

## Output schema

```json
{
  "type": "object",
  "required": [
    "courses"
  ],
  "properties": {
    "courses": {
      "type": "array",
      "items": {
        "type": "object",
        "required": [
          "title",
          "headline",
          "instructors",
          "rating",
          "number_of_ratings",
          "total_video_hours",
          "number_of_lectures",
          "level",
          "current_price",
          "original_price",
          "bestseller",
          "last_updated",
          "image_link",
          "course_link"
        ],
        "properties": {
          "level": {
            "type": [
              "string",
              "null"
            ]
          },
          "title": {
            "type": "string"
          },
          "rating": {
            "type": [
              "number",
              "null"
            ]
          },
          "headline": {
            "type": [
              "string",
              "null"
            ]
          },
          "bestseller": {
            "type": "boolean"
          },
          "image_link": {
            "type": [
              "string",
              "null"
            ]
          },
          "course_link": {
            "type": "string"
          },
          "instructors": {
            "type": "array",
            "items": {
              "type": "string"
            }
          },
          "last_updated": {
            "type": [
              "string",
              "null"
            ],
            "description": "Month and year as shown on the course page, for example 9/2026."
          },
          "current_price": {
            "anyOf": [
              {
                "type": "object",
                "required": [
                  "amount",
                  "currency_code"
                ],
                "properties": {
                  "amount": {
                    "type": "number"
                  },
                  "currency_code": {
                    "type": "string"
                  }
                },
                "additionalProperties": false
              },
              {
                "type": "null"
              }
            ]
          },
          "original_price": {
            "anyOf": [
              {
                "type": "object",
                "required": [
                  "amount",
                  "currency_code"
                ],
                "properties": {
                  "amount": {
                    "type": "number"
                  },
                  "currency_code": {
                    "type": "string"
                  }
                },
                "additionalProperties": false
              },
              {
                "type": "null"
              }
            ]
          },
          "number_of_ratings": {
            "type": "integer"
          },
          "total_video_hours": {
            "type": [
              "number",
              "null"
            ]
          },
          "number_of_lectures": {
            "type": [
              "integer",
              "null"
            ]
          }
        },
        "additionalProperties": false
      }
    }
  },
  "additionalProperties": false
}
```

## See more

- [Coursera API: Search courses](https://fous.com/methods/coursera.org/search-courses.md): Finds Coursera courses, specializations, professional certificates, degrees and guided projects on a topic, in Coursera's search order.
- [MIT API: Search courses](https://fous.com/methods/ocw.mit.edu/search-courses.md): Finds free MIT OpenCourseWare courses matching a topic, in relevance order, optionally limited to a course level or courses with lecture videos.
- [Coursera API: Get course details](https://fous.com/methods/coursera.org/get-course.md): Looks up a Coursera course, specialization or professional certificate by name or link and returns its providers, instructors, rating, enrollment, modules, skills, languages and publicly shown price.
- [Meetup API: Search events](https://fous.com/methods/meetup.com/search-events.md): Finds upcoming public Meetup events by topic and city, sorted by start time. Only events that mention the topic are included; external costs and undisclosed venues may not be shown.
- [Ulta Beauty API: Search products](https://fous.com/methods/ulta.com/search-products.md): Searches Ulta Beauty products by keyword, brand, USD price range and sort order, and returns each product with its starting prices.
- [OfferUp API: Search listings](https://fous.com/methods/offerup.com/search-listings.md): Finds OfferUp items for sale near a US city or ZIP code, with prices, condition, seller names, distance and links. Distances use approximate listing locations.
- [Medium API: List topic articles](https://fous.com/methods/medium.com/list-topic-articles.md): Lists public Medium articles for a topic, newest first or popular this week, with author, publication, reading time, claps and membership status.
- [Substack API: Search newsletters](https://fous.com/methods/substack.com/search-newsletters.md): Finds public Substack newsletters matching a topic, in Substack's search order. Subscriber counts are null when Substack does not display one.
