Python Gmail Rank Stacker

Save time and find the best Network Engineer jobs in your Gmail inbox


Through the years, I’ve occasionally been in the job market looking at opportunities that fit my networking passions or offer new chances to learn. As such, I’ve added my email address to various job posting websites which results in a high influx of technical recruiter emails making their way to my inbox. While I can filter job search websites easily enough using their native search tools… email based network engineer job opportunities are a bit tricker to manage. Time is involved with opening each email to determine if what they are offering matches both my current skillset, as well as the functional areas and technologies I would like to work on. This project is a means to limit the time spent sorting through those emails, and provide a fast view of the best qualified results from my inbox. Python Gmail Rank Stacker does as the name implies, by pulling your Gmail messages, checking them for certain criteria you are looking for, and returning the results rank stacked with a metric against what you’re looking for.

You can run this locally, or deploy it anywhere Flask apps can be deployed. The use cases can also be tweaked away from job search rank stacking to anything you find it to be a fit for. Read below to see the setup requirements, how to use the software, and what the results do.

The project is located on GitHub:

Setup Requirements

  • Clone or download and the templates folder/contents to your local machine/server
  • Visit and complete step 1 to enable the API. Save the credentials.json file in the same directory as
  • install python3
  • Install Pip3
  • pip install required modules using: “pip install –upgrade google-api-python-client google-auth-httplib2 google-auth-oauthlib bs4 flask”

Tweaking your defined Query / Keywords

  • Edit your email search query in the following line within (use for search query guidance)
  • results = service.users().messages().list(userId=’me’,labelIds = [‘INBOX’], q=’job opportunity OR position OR openings OR roles OR hiring newer_than:30d’).execute()
  • Edit your keyword rank criteria in the following line within
  • stackrank = [‘CCNA’, ‘CCNP’, ‘LAN’, ‘Cisco’,’Network Engineer’, ‘Salary’, ‘Remote’]

Running the Software:

  • Call with “python ./”. You will be prompted to authenticate with Gmail on the first run
  • Once running, you can navigate in your browser to: to view the web interface.

What the web interface looks like: (sensitive data blacked out)

You can sort based on any column, and search for keywords found in any field from the web interface.