explaingit

aminsadidi/seo-job-scraper

14PythonAudience · generalComplexity · 2/5Setup · moderate

TLDR

A free Telegram bot that scrapes SEO job listings from LinkedIn, Indeed, and Glassdoor each morning and sends them to you automatically, no server required, runs on GitHub's free automation.

Mindmap

mindmap
  root((seo-job-scraper))
    What it does
      Scrapes SEO jobs daily
      Sends to Telegram
      Deduplicates listings
    Setup
      GitHub Actions
      RapidAPI JSearch
      Telegram BotFather
    Features
      Salary info included
      Filters irrelevant roles
      Google Sheets archive
    Audience
      SEO job seekers
      Non-technical users
Click or tap to explore — scroll the page freely

Code map

Detail Auto

An interactive map of this repo's files and how they connect — its source is parsed live in your browser. Click Visualize to build it.

filefunction / class

Things people build with this

USE CASE 1

Receive a daily Telegram message with fresh SEO job listings filtered to your preferences.

USE CASE 2

Build a searchable archive of SEO job postings in Google Sheets over time.

USE CASE 3

Adapt the scraper to track job listings for other roles by changing the search keywords.

Tech stack

PythonGitHub ActionsTelegram Bot APIRapidAPI

Getting it running

Difficulty · moderate Time to first run · 30min

Requires three free accounts (GitHub, RapidAPI, Telegram) and storing API keys in GitHub Secrets before the first run.

No license information was mentioned in the explanation.

In plain English

This is a free Telegram bot that automatically collects SEO job listings every morning from major job boards such as LinkedIn, Indeed, and Glassdoor, then sends them directly to your personal Telegram account or a group chat. The entire system runs on GitHub Actions, which is GitHub's free automation service, so there is no need to pay for a server or leave your computer running. The bot filters out listings that are unlikely to be relevant, such as roles requiring extensive seniority, positions limited to specific countries, or agency postings. If a listing includes salary information, the bot passes that along too. It also tracks which listings it has already sent so you do not receive the same posting twice. There is an optional connection to Google Sheets if you want to keep a searchable archive. Setting it up involves three free accounts: a GitHub account to store and run the code, a RapidAPI account to access the JSearch service that aggregates job listings from across the internet (200 free requests per month, which is enough for daily use), and a Telegram bot created through Telegram's official BotFather tool. Once you have the necessary access keys from those services, you store them securely in GitHub's Secrets feature so they are never visible in your code. The README is written entirely in Persian and walks through each setup step with detailed screenshots and instructions aimed at users who have little technical background. The guide is notably thorough, covering common mistakes such as forgetting to activate your Telegram bot before the first run.

Copy-paste prompts

Prompt 1
Set up this seo-job-scraper bot for me. I have a GitHub account and a Telegram account. Walk me through creating the RapidAPI key, the Telegram bot token, and where to store them in GitHub Secrets.
Prompt 2
Modify the seo-job-scraper filter to also exclude part-time and internship roles, and add a filter for listings that mention a salary above $60k.
Prompt 3
Add a feature to seo-job-scraper that posts a weekly digest summary to a Telegram group every Sunday instead of individual daily messages.
Open on GitHub → Explain another repo

← aminsadidi on gitmyhub — every repo by this author, as a profile.

Verify against the repo before relying on details.