# Coursera API

> Coursera returns course, specialization, certificate, degree, and guided project data as a workflow and API.

Coursera’s Search courses finds learning options by required topic, with optional level, free-only, and result-count inputs. Get course returns details for a course, specialization, or certificate and needs its name or link; provider is optional.

- Page: https://fous.com/tools/coursera
- Handle: `@coursera`
- Category: [Education](https://fous.com/tools/category/education)
- Source website: https://coursera.org
- Last verified: Sep 29, 2026

## Methods

### Get course

Operation `get_course`, version 1. 1 credit per completed call. Failed calls without a completed billing receipt are free; completed work can remain charged if delivery is interrupted.

Get details of a Coursera course, specialization, or professional certificate by name or link. Prices are returned only when publicly displayed; availability and charges can vary by location.

**Input**

| Field | Type | Required | Example | Description |
|---|---|---|---|---|
| `course` | string | yes | `"https://www.coursera.org/learn/machine-learning"` | Course, specialization, or certificate name or Coursera link, for example Google Data Analytics. |
| `provider` | string | no | `"Google"` | Optional university or company to distinguish similarly named courses, for example Google. |

**Input schema**

```json
{
  "type": "object",
  "required": [
    "course"
  ],
  "properties": {
    "course": {
      "type": "string",
      "description": "Course, specialization, or certificate name or Coursera link, for example Google Data Analytics.",
      "examples": [
        "https://www.coursera.org/learn/machine-learning",
        "Google Data Analytics",
        "Python for Everybody"
      ]
    },
    "provider": {
      "type": "string",
      "default": "",
      "description": "Optional university or company to distinguish similarly named courses, for example Google.",
      "examples": [
        "Google",
        "University of Michigan"
      ]
    }
  },
  "additionalProperties": false,
  "examples": [
    {
      "course": "https://www.coursera.org/learn/machine-learning"
    },
    {
      "course": "Google Data Analytics",
      "provider": "Google"
    },
    {
      "course": "Python for Everybody",
      "provider": "University of Michigan"
    }
  ]
}
```

**Output**

| Field | Type | Example | Description |
|---|---|---|---|
| `cost` | string or null | `"Free to enroll"` |  |
| `link` | string | `"https://www.coursera.org/learn/machine-learning"` |  |
| `type` | string | `"Course"` |  |
| `level` | string or null | `"Beginner"` |  |
| `price` | number or null | `49` |  |
| `title` | string | `"Supervised Machine Learning: Regression and Classification"` |  |
| `rating` | number or null | `4.89` | Rating out of 5. |
| `skills` | array |  |  |
| `currency` | string or null | `"USD"` |  |
| `duration` | string or null | `"3 weeks at 10 hours a week"` |  |
| `languages` | array |  |  |
| `providers` | array |  |  |
| `instructors` | array |  |  |
| `number_enrolled` | integer or null | `1253410` |  |
| `number_of_reviews` | integer or null | `32925` |  |
| `modules_or_courses` | array |  |  |
| `modules_or_courses[].title` | string | `"Week 1: Introduction to Machine Learning"` |  |
| `modules_or_courses[].short_description` | string or null | `"Welcome to the Machine Learning Specialization!  You're joining millions of others who have taken either this or the or` |  |
| `certificate_offered` | boolean | `true` |  |

**Example input**

```json
{
  "course": "https://www.coursera.org/learn/machine-learning"
}
```

**Example output**

```json
{
  "cost": "Free to enroll",
  "link": "https://www.coursera.org/learn/machine-learning",
  "type": "Course",
  "level": "Beginner",
  "price": null,
  "title": "Supervised Machine Learning: Regression and Classification",
  "rating": 4.89,
  "skills": [
    "Model Evaluation",
    "Supervised Learning",
    "Machine Learning"
  ],
  "currency": null,
  "duration": "3 weeks at 10 hours a week",
  "languages": [
    "English",
    "German",
    "Hindi"
  ],
  "providers": [
    "DeepLearning.AI",
    "Stanford Online"
  ],
  "instructors": [
    "Andrew Ng",
    "Aarti Bagul",
    "Geoff Ladwig"
  ],
  "number_enrolled": 1253410,
  "number_of_reviews": 32925,
  "modules_or_courses": [
    {
      "title": "Week 1: Introduction to Machine Learning",
      "short_description": "Welcome to the Machine Learning Specialization!  You're joining millions of others who have taken either this or the original course, which led to the founding of Coursera, and has helped millions of …"
    },
    {
      "title": "Week 2: Regression with multiple input variables",
      "short_description": "This week, you'll extend linear regression to handle multiple input features.  You'll also learn some methods for improving your model's training and performance, such as vectorization, feature scalin…"
    },
    {
      "title": "Week 3: Classification",
      "short_description": "This week, you'll learn the other type of supervised learning, classification.  You'll learn how to predict categories using the logistic regression model.  You'll learn about the problem of overfitti…"
    }
  ],
  "certificate_offered": true
}
```

### Search courses

Operation `search_courses`, version 1. 1 credit per completed call. Failed calls without a completed billing receipt are free; completed work can remain charged if delivery is interrupted.

Find Coursera courses, specializations, professional certificates, degrees, and guided projects on a topic. Results follow Coursera’s search order; free means Coursera labels the result Free.

**Input**

| Field | Type | Required | Example | Description |
|---|---|---|---|---|
| `level` | string | no | `"beginner"` | Difficulty level, for example beginner; any includes all levels. |
| `topic` | string | yes | `"computer science degree"` | Topic or skill to search, for example data analysis. |
| `free_only` | boolean | no | `true` | Keep only items Coursera labels Free, for example true. |
| `max_results` | integer | no | `15` | Maximum number of results, for example 20 (up to 100). |

**Input schema**

```json
{
  "type": "object",
  "required": [
    "topic"
  ],
  "properties": {
    "level": {
      "enum": [
        "any",
        "beginner",
        "intermediate",
        "advanced"
      ],
      "type": "string",
      "default": "any",
      "description": "Difficulty level, for example beginner; any includes all levels.",
      "examples": [
        "beginner"
      ]
    },
    "topic": {
      "type": "string",
      "minLength": 1,
      "description": "Topic or skill to search, for example data analysis.",
      "examples": [
        "computer science degree",
        "data analysis"
      ]
    },
    "free_only": {
      "type": "boolean",
      "default": false,
      "description": "Keep only items Coursera labels Free, for example true.",
      "examples": [
        true
      ]
    },
    "max_results": {
      "type": "integer",
      "default": 20,
      "maximum": 100,
      "minimum": 1,
      "description": "Maximum number of results, for example 20 (up to 100).",
      "x-fous-developer": true,
      "examples": [
        15
      ]
    }
  },
  "additionalProperties": false,
  "examples": [
    {
      "topic": "computer science degree",
      "max_results": 15
    },
    {
      "topic": "data analysis"
    },
    {
      "level": "beginner",
      "topic": "data analysis",
      "free_only": true,
      "max_results": 15
    }
  ]
}
```

**Output**

| Field | Type | Example | Description |
|---|---|---|---|
| `courses` | array |  |  |
| `courses[].type` | string | `"degree"` |  |
| `courses[].level` | string or null | `"Beginner"` |  |
| `courses[].title` | string | `"Bachelor of Science in Computer Science"` |  |
| `courses[].rating` | number or null | `4.7` |  |
| `courses[].duration` | string or null | `"1 - 4 Years"` |  |
| `courses[].image_url` | string or null | `"https://s3.amazonaws.com/coursera_assets/ddp/branding/bcs-uol/thumbnail.jpg"` |  |
| `courses[].course_url` | string | `"https://www.coursera.org/degrees/bachelor-of-science-computer-science-london"` |  |
| `courses[].offered_by` | string or null | `"University of London"` |  |
| `courses[].number_of_reviews` | integer or null | `20862` |  |
| `courses[].skills_youll_gain` | array |  |  |

**Example input**

```json
{
  "topic": "computer science degree",
  "max_results": 15
}
```

**Example output**

```json
{
  "courses": [
    {
      "type": "degree",
      "level": null,
      "title": "Bachelor of Science in Computer Science",
      "rating": null,
      "duration": "1 - 4 Years",
      "image_url": "https://s3.amazonaws.com/coursera_assets/ddp/branding/bcs-uol/thumbnail.jpg",
      "course_url": "https://www.coursera.org/degrees/bachelor-of-science-computer-science-london",
      "offered_by": "University of London",
      "number_of_reviews": null,
      "skills_youll_gain": [
        "Human Computer Interaction",
        "Virtual Reality",
        "Game Design"
      ]
    },
    {
      "type": "degree",
      "level": null,
      "title": "MSc Computer Science",
      "rating": null,
      "duration": "1 - 4 Years",
      "image_url": "https://s3.amazonaws.com/coursera_assets/ddp/branding/msc-computer-science-heriot-watt/dc3c6277-89e8-454e-bfe6-4b2c9d8a8429.jpg",
      "course_url": "https://www.coursera.org/degrees/msc-computer-science-heriot-watt",
      "offered_by": "Heriot-Watt University",
      "number_of_reviews": null,
      "skills_youll_gain": [
        "Database Systems",
        "Responsible AI",
        "Database Management"
      ]
    },
    {
      "type": "degree",
      "level": null,
      "title": "Master of Data Science",
      "rating": null,
      "duration": "1 - 4 Years",
      "image_url": "https://s3.amazonaws.com/coursera_assets/ddp/branding/mas-data-science-illinois-tech/25a8c7a3-1100-4830-875a-6dc97bfe19bb.jpg",
      "course_url": "https://www.coursera.org/degrees/mas-data-science-illinois-tech",
      "offered_by": "Illinois Institute of Technology",
      "number_of_reviews": null,
      "skills_youll_gain": [
        "Database Design",
        "Database Systems",
        "Statistical Analysis"
      ]
    }
  ]
}
```

## Quick start

Replace `YOUR_API_KEY` with a Fous API key. To create one, open Developers at the bottom of Fous Studio, turn on Developer mode, then go to API keys (https://app.fous.com/keys). Change the values in `input` to run the same tool on new data.

```bash
curl 'https://api.fous.com/v1/query' \
  --fail-with-body --silent --show-error --max-time 180 \
  -H "Authorization: Bearer YOUR_API_KEY" \
  -H 'Content-Type: application/json' \
  --data-raw '{
  "api": "@coursera",
  "visibility": "public",
  "operation": "get_course",
  "version": 1,
  "input": {
    "course": "https://www.coursera.org/learn/machine-learning"
  },
  "response": {
    "format": "json"
  }
}'
```

```python
# Save as fous.py and run with python3 fous.py. No packages needed.
import json
import urllib.error
import urllib.request

api_key = "YOUR_API_KEY"

body = json.loads("{\n  \"api\": \"@coursera\",\n  \"visibility\": \"public\",\n  \"operation\": \"get_course\",\n  \"version\": 1,\n  \"input\": {\n    \"course\": \"https://www.coursera.org/learn/machine-learning\"\n  },\n  \"response\": {\n    \"format\": \"json\"\n  }\n}")
request = urllib.request.Request(
    "https://api.fous.com/v1/query",
    data=json.dumps(body).encode("utf-8"),
    headers={
        "Authorization": f"Bearer {api_key}",
        "Content-Type": "application/json",
    },
    method="POST",
)
try:
    with urllib.request.urlopen(request, timeout=180) as response:
        result = json.load(response)
except urllib.error.HTTPError as error:
    raise RuntimeError(f"HTTP {error.code}: {error.read().decode('utf-8', errors='replace')}") from error
if result.get("success") is False:
    raise RuntimeError(result.get("error", {}).get("message", "Request failed"))
print(json.dumps(result["data"]["output"], indent=2))
```

```typescript
// Save as fous.mts and run with npx tsx fous.mts.
const apiKey = "YOUR_API_KEY";

const response = await fetch("https://api.fous.com/v1/query", {
  method: "POST",
  headers: {
    "Authorization": `Bearer ${apiKey}`,
    "Content-Type": "application/json",
  },
  signal: AbortSignal.timeout(180_000),
  body: JSON.stringify({
  "api": "@coursera",
  "visibility": "public",
  "operation": "get_course",
  "version": 1,
  "input": {
    "course": "https://www.coursera.org/learn/machine-learning"
  },
  "response": {
    "format": "json"
  }
}),
});
type ApiResult = { success: boolean; data?: { output: unknown }; error?: { message: string } };
const result: ApiResult = await response.json();
if (!response.ok || result.success === false) {
  throw new Error(result.error?.message ?? `HTTP ${response.status}`);
}
if (!result.data) throw new Error("Missing API response data");
console.log(result.data.output);
```

## Use from an AI assistant

Connect this tool to Claude Code, Claude Desktop, Cursor, VS Code, Codex and any MCP client as its own MCP server. Each method is a typed tool whose arguments are the method’s input.

- Server URL: `https://api.fous.com/mcp/tools/coursera`
- Authorization: `Authorization: Bearer <Fous API key>`

**Tools**

- `get_course`: Get course. 1 credit per completed call. Failed calls without a completed billing receipt are free; completed work can remain charged if delivery is interrupted.
- `search_courses`: Search courses. 1 credit per completed call. Failed calls without a completed billing receipt are free; completed work can remain charged if delivery is interrupted.
- `fous_get_run`: the result of a run that was still going, by its `request_id`. Free.

Claude Code:

```bash
claude mcp add --scope user --transport http fous-coursera https://api.fous.com/mcp/tools/coursera --header "Authorization: Bearer ${FOUS_API_KEY:?Set FOUS_API_KEY to your Fous API key}"
```

To give the assistant every tool, connect `https://api.fous.com/mcp`: it finds one with `fous_search_tools` and runs it with `fous_run_tool`. Setup for other clients: https://fous.com/llms-full.txt.

## Use cases

- Find learning options for a topic or skill
- Compare course ratings, levels, and durations
- Review skills and modules before selecting a course
- Identify course providers and instructors
- Check publicly displayed course prices

## FAQ

### Can I run it with my own inputs?

Yes. Change the inputs in Studio and press Run, or send new inputs from your code, or ask a connected AI assistant.

### Can I call this Coursera tool as an API?

Yes. Send a POST request to /v1/query with your Fous API key and the inputs, and get JSON back.

### How much does it cost?

Each completed run costs 1 credit. Failed runs without a completed receipt are free; completed work can remain charged if delivery is interrupted. With pay as you go, a credit costs 1¢. Monthly plans cost less per credit.

### Do I need a Coursera account?

No. You only need a Fous account.

### How current is the data?

Fous gets the data from coursera.org when you run it. Some results are reused for up to 24 hours, and results that use your account or key are never reused. It was last verified on Sep 29, 2026.

### What learning options cover a topic?

Search courses finds courses, specializations, professional certificates, degrees, and guided projects by topic.

### What skills does a course teach?

Get course returns skills for a course, specialization, or professional certificate identified by name or link.

### What rating and price does a course have?

Get course returns a rating and prices when publicly displayed; availability and charges can vary by location.

## Related

- [Udemy API](https://fous.com/tools/udemy.md): Online courses in professional and personal skills.
- [Class Central API](https://fous.com/tools/class-central.md): Find online courses across learning platforms.
- [MIT OpenCourseWare API](https://fous.com/tools/mit-opencourseware.md): Free MIT course materials open to everyone.
- [College Scorecard API](https://fous.com/tools/college-scorecard.md): College Scorecard returns US college costs and outcomes, including admissions, graduation, debt, and earnings; some figures may be missing, and comparisons cover 2–5 colleges.
- [Google Search API](https://fous.com/tools/google-search.md): Google Search returns public web, image, job, event, related-question, and autocomplete results in Google’s order, with answers and details when available; results may be fewer, omit information, or be empty.
- [Costco API](https://fous.com/tools/costco.md): Costco returns US product prices/details and warehouse hours/services/gas prices; delivery affects availability, member prices may be hidden, and posted gas and holiday hours may differ.
- [Sephora API](https://fous.com/tools/sephora.md): Sephora provides US beauty products, shopping information, product details, and customer reviews; prices and availability may change.
- [Capterra API](https://fous.com/tools/capterra.md): Capterra provides business software ratings, verified reviews, pricing details, and category listings, with review freshness and pricing availability varying by listing.
- [All Education tools](https://fous.com/tools/category/education)
