Discover Free Udemy Programs with Google Sheets and the Udemy API

Shubham
4 Min Read

Whether or not you wish to be taught a programming language, improve your Microsoft Excel expertise, or purchase data in Machine Studying, Udemy in all probability has a video course for you. Udemy programs are often reasonably priced, there are not any subscription payment and you may be taught at your personal tempo.

Free Udemy Programs on Programming

Whereas most video tutorials on Udemy require cost, the web site additionally presents a few of their highly-rated programs without spending a dime. I’ve ready a Google Sheet that lists all of the free programming programs at present out there on Udemy. The spreadsheet is up to date robotically each few hours. You may as well entry the web version for straightforward searching.


✨ Chances are you’ll use the search perform of the browser (Ctrl + F) to seek out programs for a particular programming language or matter. The programs are sorted by recognition.

There’s no secret sauce. Udemy has an developer API that gives entry to all of the course knowledge out there on the web site, together with person rankings, variety of college students who’ve taken the course, length, preview video lectures, and extra.

Use the Udemy API with Google Sheets

The Udemy API is free to make use of however requires authentication. You possibly can generate the credentials on your Udemy account after which use the /programs endpoint to fetch the record of free programs.

const parseCourseData_ = (programs) =>
  programs
    .filter(
      ({ is_paid, primary_category }) =>
        is_paid === false && ['Development', 'IT & Software'].consists of(primary_category.title)
      // We're primarily taken with programming programs on Udemy
    )
    .map((e) => [
      `=IMAGE("${e.image_240x135}")`,
      `=HYPERLINK("https://www.udemy.com${e.url}";"${e.title}")`,
      e.visible_instructors.map(({ display_name }) => display_name).join(', '),
      e.num_subscribers,
      Math.round(e.avg_rating * 100) / 100,
      e.num_reviews,
      e.content_info_short,
      e.num_lectures,
      new Date(e.last_update_date)
    ]);

const listUdemyCoursesGoneFree = () => {
  // Put your Udemy credentials right here
  const CLIENT_ID = '';
  const CLIENT_SECRET = '';

  const params = {
    web page: 1,
    page_size: 100,
    is_paid: false,
    'fields[course]': '@all'
  };

  const question = Object.entries(params)
    .map(([key, value]) => `${key}=${encodeURIComponent(worth)}`)
    .be a part of('&');

  const apiUrl = `https://www.udemy.com/api-2.0/programs/?${question}`;
  const bearer = Utilities.base64Encode(`${CLIENT_ID}:${CLIENT_SECRET}`);
  const choices = {
    muteHttpExceptions: true,
    headers: {
      Authorization: `Fundamental ${bearer}`
    }
  };

  const programs = [];

  do {
    const response = UrlFetchApp.fetch(apiUrl, choices);
    const { outcomes = [], subsequent } = JSON.parse(response);
    programs.push(...parseCourseData_(outcomes));
    url = subsequent;
  } whereas (url && programs.size < 500);

  const ss = SpreadsheetApp.getActiveSpreadsheet();
  const [sheet] = ss.getSheets();
  sheet.getRange(2, 1, sheet.getLastRow(), sheet.getLastColumn()).clearContent();
  sheet.getRange(2, 1, programs.size, programs[0].size).setValues(programs);
};

We use the UrlFetch service of Google Scripts to fetch the information from the Udemy API and the information is then parsed and inserted into the Google Sheet. The course thumbnail picture is rendered utilizing the IMAGE system and the course title is linked to the Udemy web site utilizing the HYPERLINK system.

Associated studying:

Share This Article
Leave a comment

Leave a Reply

Your email address will not be published. Required fields are marked *