
TIOBE Index Scraper
Pricing
Pay per usage

TIOBE Index Scraper
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
Actor.get_input()
retrieves the input URL (defaults tohttps://www.tiobe.com/tiobe-index/
).httpx.AsyncClient().get(url)
fetches the HTML content of the page.BeautifulSoup(response.content, 'lxml')
parses the HTML to extract the date and table data.- The Actor extracts the current month and year from the page’s
<h1>
tag (e.g., "TIOBE Index for July 2025"). - 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
Actor.push_data(languages)
stores the data in the dataset, andActor.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/"}