TIOBE Index Scraper avatar
TIOBE Index Scraper

Pricing

Pay per usage

Go to Store
TIOBE Index Scraper

TIOBE Index Scraper

Developed by

Rakhman Karymshakov

Rakhman Karymshakov

Maintained by Community

Scrapes TIOBE Index for top 20 programming languages, extracting current and previous year's positions, names, ratings, and rating changes. Stores structured data in a dataset for easy analysis. Ideal for developers, researchers, and analysts tracking language popularity trends over time.

0.0 (0)

Pricing

Pay per usage

0

Total users

1

Monthly users

1

Runs succeeded

>99%

Last modified

11 days ago

This Apify Actor scrapes programming language rankings from the TIOBE Index website. It extracts the top 20 programming languages, including their current and previous year's positions, ratings, and changes in ratings for the specified month and year. The data is parsed using Beautiful Soup and fetched with HTTPX, then stored in a dataset for easy access.

Included Features

  • Apify SDK for Python - A toolkit for building Apify Actors and scrapers in Python.
  • Input Schema - Defines and validates the input URL for the TIOBE Index page.
  • Dataset - Stores structured data with attributes for each programming language.
  • HTTPX - Library for making asynchronous HTTP requests in Python.
  • Beautiful Soup - Library for pulling data out of HTML and XML files.

How It Works

  1. Actor.get_input() retrieves the input URL (defaults to https://www.tiobe.com/tiobe-index/).
  2. httpx.AsyncClient().get(url) fetches the HTML content of the page.
  3. BeautifulSoup(response.content, 'lxml') parses the HTML to extract the date and table data.
  4. The Actor extracts the current month and year from the page’s <h1> tag (e.g., "TIOBE Index for July 2025").
  5. It parses the table with id="top20" to extract data for each programming language, including:
    • Current position
    • Previous year’s position
    • Language name
    • Ratings percentage
    • Change in ratings
  6. Actor.push_data(languages) stores the data in the dataset, and Actor.set_value('OUTPUT', languages) saves it to the key-value store for verification.

Input

The Actor accepts the following input, defined in input_schema.json:

  • url: The TIOBE Index page URL (default: https://www.tiobe.com/tiobe-index/).

Example input:

{
"url": "https://www.tiobe.com/tiobe-index/"
}