OpenAPI Specification
openapi: 3.1.0
info:
title: Coursera Catalog API
description: 'The Coursera Catalog API provides public, read-only access to Coursera''s
catalog of courses, specializations, partners, and instructors. Endpoints
return paginated JSON responses with `elements`, `paging`, and `linked`
fields. No authentication is required for the public catalog endpoints.
'
version: v1
contact:
name: Coursera
url: https://building.coursera.org/app-platform/catalog/
servers:
- url: https://api.coursera.org
description: Coursera Catalog API
tags:
- name: Catalog
description: Public catalog browsing
paths:
/api/courses.v1:
get:
tags:
- Catalog
summary: List courses
description: Returns a paginated list of courses available on Coursera.
operationId: listCourses
parameters:
- in: query
name: start
required: false
schema:
type: string
description: Pagination offset (e.g. "100").
- in: query
name: limit
required: false
schema:
type: integer
description: Number of results to return per page.
responses:
'200':
description: A paginated list of courses.
content:
application/json:
schema:
type: object
properties:
elements:
type: array
items:
$ref: '#/components/schemas/Course'
paging:
$ref: '#/components/schemas/Paging'
linked:
type: object
/api/onDemandSpecializations.v1:
get:
tags:
- Catalog
summary: List on-demand specializations
operationId: listSpecializations
parameters:
- in: query
name: start
required: false
schema:
type: string
- in: query
name: limit
required: false
schema:
type: integer
responses:
'200':
description: A paginated list of specializations.
content:
application/json:
schema:
type: object
properties:
elements:
type: array
items:
$ref: '#/components/schemas/Specialization'
paging:
$ref: '#/components/schemas/Paging'
linked:
type: object
/api/partners.v1:
get:
tags:
- Catalog
summary: List partner organizations
operationId: listPartners
parameters:
- in: query
name: start
required: false
schema:
type: string
- in: query
name: limit
required: false
schema:
type: integer
responses:
'200':
description: A paginated list of partner organizations.
content:
application/json:
schema:
type: object
properties:
elements:
type: array
items:
$ref: '#/components/schemas/Partner'
paging:
$ref: '#/components/schemas/Paging'
linked:
type: object
/api/instructors.v1:
get:
tags:
- Catalog
summary: List instructors
operationId: listInstructors
parameters:
- in: query
name: start
required: false
schema:
type: string
- in: query
name: limit
required: false
schema:
type: integer
responses:
'200':
description: A paginated list of instructors.
content:
application/json:
schema:
type: object
properties:
elements:
type: array
items:
$ref: '#/components/schemas/Instructor'
paging:
$ref: '#/components/schemas/Paging'
linked:
type: object
components:
schemas:
Course:
type: object
properties:
id:
type: string
slug:
type: string
name:
type: string
courseType:
type: string
description: e.g. "v2.ondemand"
Paging:
type: object
properties:
next:
type: string
total:
type: string
Specialization:
type: object
properties:
id:
type: string
slug:
type: string
name:
type: string
tagline:
type: string
description:
type: string
Partner:
type: object
properties:
id:
type: integer
name:
type: string
shortName:
type: string
Instructor:
type: object
properties:
id:
type: string
fullName:
type: string