Skip to main content

Pydemy Logo

PyPI version Python versions Udemy API version PyPI Monthly Downloads Publish to PyPI GitHub issues License pre-commit.ci status

⚠️ Important Notice (January 2025)
The Udemy Affiliate API (v2.0) has been discontinued as of January 1, 2025, according to Udemy’s official documentation.

As a result, Pydemy is no longer functional, since it depends on the discontinued API.

This repository remains available for educational and archival purposes only.
Future updates may explore compatibility with alternative APIs or platforms.


Pydemy provides a convenient way to interact with the Udemy Affiliate API from your Python applications. You can use Pydemy to search for courses, retrieve course details, fetch reviews, and potentially explore other functionalities offered by the API.

Udemy API Support

Pydemy currently supports the Udemy Affiliate API v2.0. This API allows developers to access public information about Udemy courses.

Note: The Udemy Instructor API, which provides functionalities specific to course creation and management, is not currently supported by Pydemy.

Main Features

  • Synchronous and Asynchronous API Requests: Choose between synchronous and asynchronous interactions with the Udemy API. This flexibility caters to different development needs and preferences. To enhance application performance, for example, employ asynchronous calls for non-blocking activities.
  • Search for Courses: Quickly find courses using a variety of parameters, such as price filters, categories, or keywords.
  • Get Detailed Course Information: Get in-depth information on a particular course, such as the title, curriculum, teacher, ratings, and more.
  • Get Course Reviews: By retrieving and examining reviews for a specific course, you can learn a great deal about the experiences of students.
  • Use Pydantic for Data Management and Validation: The pydemy library makes extensive use of the potent Pydantic library. It offers an organized method of working with the data and guarantees that the information obtained from the Udemy API is accurate. This facilitates robust interactions with the Udemy API and makes programming easier.

Getting Started

  1. Obtain API Credentials: Visit Udemy API Clients to create a new API client and obtain your clientID and clientSecret.

  2. Installation: Install the library using pip:

    pip install pydemy
    
  3. Usage: Import the UdemyClient class:

    from pydemy import UdemyClient
    

    Initialize the client with your API credentials:

    client_id = "YOUR_CLIENT_ID"
    client_secret = "YOUR_CLIENT_SECRET"
    
    client = UdemyClient(client_id=client_id, client_secret=client_secret)
    

Quickstart

Here is an example that demonstrates how to get started with using the UdemyClient to retrieve information about public courses.

For more in-depth examples and usage scenarios, be sure to check out the examples folder.

client = UdemyClient(client_id="YOUR_CLIENT_ID", client_secret="YOUR_CLIENT_SECRET")

# Get a list of public courses (replace '4534650' with a specific course ID for details)
courses = client.get_public_curriculum_list(course_id=4534650)

# Print course titles
for course in courses:
    print(course.title)

Contributing

We welcome contributions from the community! If you have bug fixes, improvements, or new features, feel free to submit a pull request. For detailed guidelines on contributing, please refer to the CONTRIBUTING.rst file.

Here's a brief overview:

  • Fork the repository.
  • Create a new branch for your changes.
  • Implement your changes and add unit tests if applicable.
  • Follow consistent coding style.
  • Submit a pull request with a clear description of your changes.

License

This project is licensed under the MIT License - see the LICENSE.md file for details.

Metadata

Release files for pydemy 0.2.9

For a detailed explanation of source distributions (sdists) and built distributions (wheels), please see the package formats documentation.

Source distribution (sdist)

Source distribution for pydemy 0.2.9
File Size Uploaded
pydemy-0.2.9.tar.gz 15.9 kB Details

Built distribution (wheel)

Table of built distributions (wheels) for pydemy 0.2.9
File Interpreter ABI Platform
pydemy-0.2.9-py3-none-any.whl Python 3 none any Details

Total release size: 35.2 kB

Release files / pydemy-0.2.9.tar.gz

Download URL pydemy-0.2.9.tar.gz
Size 15.9 kB
Tags Source
SHA-256 checksum
How to use checksums
ca148a526d720b7731bd154c5477e026602ea30ebd20952046969b1829a7f79f
BLAKE2b-256 checksum
How to use checksums
fd6f5d00ec5e8baf3a8e72d2e17639df290c55b7519e71e0ddd2253f4d5cb85f
Upload date
Uploaded using Trusted Publishing?
What is trusted publishing?
Yes
Uploaded via twine/6.1.0 CPython/3.13.7

Provenance

Provenance describes where a file came from. On PyPI, provenance is shared via attestations, which provide a verifiable record of the build or publishing details. View details, limitations and caveats.

PyPI Publish Attestation

PyPI verified that this artifact, at this checksum, originated from the publisher listed below.

Signed by GitHub Actions, verified by PyPI on Oct 18, 2025.

Transparency log

Release files / pydemy-0.2.9-py3-none-any.whl

Download URL pydemy-0.2.9-py3-none-any.whl
Size 19.2 kB
Tags Python 3
SHA-256 checksum
How to use checksums
04f8bcd8581373a7844284b5550dab3136c4659c4235071f2b24f3b0451e5a36
BLAKE2b-256 checksum
How to use checksums
0180fcddf2a20ae191dd5103221c84b70503fe115c7f5e62dd803c142ac0a662
Upload date
Uploaded using Trusted Publishing?
What is trusted publishing?
Yes
Uploaded via twine/6.1.0 CPython/3.13.7

Provenance

Provenance describes where a file came from. On PyPI, provenance is shared via attestations, which provide a verifiable record of the build or publishing details. View details, limitations and caveats.

PyPI Publish Attestation

PyPI verified that this artifact, at this checksum, originated from the publisher listed below.

Signed by GitHub Actions, verified by PyPI on Oct 18, 2025.

Transparency log

Release history Release notifications | RSS feed

This release

0.2.9 This release

2 release files

0.2.8

2 release files

0.2.7

2 release files

0.2.6

2 release files

0.2.5

2 release files

0.2.4

2 release files

0.2.3

2 release files

0.2.2

2 release files

0.2.1

2 release files

0.2.0

2 release files

0.1.1

2 release files

0.1.0

2 release files

Anthropic, PBC Visionary sponsor Bloomberg Visionary sponsor Hudson River Trading Visionary sponsor Meta Visionary sponsor NVIDIA Visionary sponsor Microsoft Sustainability sponsor Depot Continuous Integration AWS Cloud computing and Security Sponsor Datadog Monitoring Fastly CDN Google Download Analytics Sentry Error logging StatusPage Status page