Skip to main content
https://readthedocs.org/projects/google-alerts/badge/?version=latest https://badge.fury.io/py/google-alerts.svg https://img.shields.io/badge/License-MIT-yellow.svg

The google-alerts Python module provides an abstract interface for the Google Alerts service. Google does not provide an official API for this service, so interactions are done through web scripting.

WARNING: Your account password will be obfuscated and saved on the file system. Additionally, post-authentication, a session cookie will also be saved. These can be stolen and re-used to compromise your account. As a best practice, register a new email to manage alerts.

For detailed explanations of the library, please see the wiki.

Quick Start

Install the library:

pip install google-alerts or python setup.py install

Save your configuration:

google-alerts setup --email <your.mail@foo.com> --password 'password'

Seed your session (driver download, http://chromedriver.chromium.org/downloads):

google-alerts seed --driver /tmp/chromedriver --timeout 60

Create a monitor:

google-alerts create --term "hello world" --delivery 'rss' --frequency 'realtime'

List monitors:

google-alerts list

Delete a monitor:

google-alerts delete --id '89e517961a3148c7:c395b7d271b4eccc:com:en:US'

Sample Code

This sample code shows some of the range of functionality within the module:

from google_alerts import GoogleAlerts

# Create an instance
ga = GoogleAlerts('your.email@gmail.com', '**password**')

# Authenticate your user
ga.authenticate()

# List configured monitors
ga.list()

# Add a new monitor
ga.create("Hello World", {'delivery': 'RSS'})

# Modify an existing monitor
ga.modify("89e517961a3148c7:c395b7d271b4eccc:com:en:US", {'delivery': 'RSS', 'monitor_match': 'ALL'})

# Delete a monitor
ga.delete("89e517961a3148c7:c395b7d271b4eccc:com:en:US")

Example Output

Below is an example monitor:

[{
    "term": "hello world",
    "user_id": "09738342945634096720",
    "language": "en",
    "monitor_id": "89e517961a3148c7:c395b7d271b4eccc:com:en:US",
    "region": "US",
    "rss_link": "https://google.com/alerts/feeds/09738342945634096720/9663349274289663466",
    "delivery": "RSS",
    "match_type": "BEST"
}]

Features

  • Add new monitors (RSS or Mail)

  • Modify existing monitors

  • Delete monitors by ID or term

  • List all monitors with details

Changelog

05-23-19

  • Feature: Add a new command line argument to allow a user to specify a seed timeout time

11-11-18

  • Feature: Add a new command line argument to seed a session through the browser

  • Change: Added python version detection to the manage script as well

10-13-18

  • Feature: Detect when user changes between Python versions during setup

  • Bugfix: Setup process appears to finally be bug-free, screw python2 support

07-10-18

  • Feature: Added the ability to set the frequency when creating alerts

  • Bugfix: Fixed frequency settings when using the mail delivery method

05-30-18

  • Change: Explicitly detect when a CAPTCHA is being thrown

05-28-18

  • Feature: Take advantage of the config file concept inside of the class

  • Feature: Authenticate users with a session file if it’s available

  • Change: Tell Chrome to avoid using Javascript so we get the old form

05-25-18

  • Change: Added headers to all calls to look like less of a bot

  • Bugfix: Wrapped a problem area when inspecting the forms in a page

  • Bugfix: Handled setup error for Python3

04-29-18

  • Feature: Allow users to setup exact match queries

  • Change: Added support for Python3

  • Bugfix: Removed extra calls causing an error in the decrypt process

04-26-18

  • Feature: Added a command line utility to the code for easy testing

  • Bugfix: Removed clobbering error inside of delete routine

Download files

Download the file for your platform. If you're not sure which to choose, learn more about installing packages.

Source Distribution

google-alerts-0.2.1.tar.gz (10.7 kB view details)

Uploaded Source

Built Distributions

If you're not sure about the file name format, learn more about wheel file names.

google_alerts-0.2.1-py2.7.egg (29.2 kB view details)

Uploaded Egg

google_alerts-0.2.1-py2-none-any.whl (13.8 kB view details)

Uploaded Python 2

File details

Details for the file google-alerts-0.2.1.tar.gz.

File metadata

  • Download URL: google-alerts-0.2.1.tar.gz
  • Upload date:
  • Size: 10.7 kB
  • Tags: Source
  • Uploaded using Trusted Publishing? No
  • Uploaded via: twine/1.11.0 pkginfo/1.4.2 requests/2.18.4 setuptools/39.0.1 requests-toolbelt/0.8.0 tqdm/4.23.1 CPython/2.7.10

File hashes

Hashes for google-alerts-0.2.1.tar.gz
Algorithm Hash digest
SHA256 4a4d2622ab4a19ee9efde256b54ddd7077ccda8e319094bc81c028dae24c0fc2
MD5 4266303480d1cd4ac5affa82d98d643d
BLAKE2b-256 45075fb4e7b45da79cf340d60d3d069c2617754a2f3465ec1f514694fd477d3c

See more details on using hashes here.

File details

Details for the file google_alerts-0.2.1-py2.7.egg.

File metadata

  • Download URL: google_alerts-0.2.1-py2.7.egg
  • Upload date:
  • Size: 29.2 kB
  • Tags: Egg
  • Uploaded using Trusted Publishing? No
  • Uploaded via: twine/1.11.0 pkginfo/1.4.2 requests/2.18.4 setuptools/39.0.1 requests-toolbelt/0.8.0 tqdm/4.23.1 CPython/2.7.10

File hashes

Hashes for google_alerts-0.2.1-py2.7.egg
Algorithm Hash digest
SHA256 1a183733df61e40daf40810b751a372c61640158c0ecac2018c043695c3ff8b5
MD5 76faed3fe14979630daea67ecebe4946
BLAKE2b-256 0a2eadccefac0de74869e96d5073586139c1409130142017cfd9c21be03f8ce0

See more details on using hashes here.

File details

Details for the file google_alerts-0.2.1-py2-none-any.whl.

File metadata

  • Download URL: google_alerts-0.2.1-py2-none-any.whl
  • Upload date:
  • Size: 13.8 kB
  • Tags: Python 2
  • Uploaded using Trusted Publishing? No
  • Uploaded via: twine/1.11.0 pkginfo/1.4.2 requests/2.18.4 setuptools/39.0.1 requests-toolbelt/0.8.0 tqdm/4.23.1 CPython/2.7.10

File hashes

Hashes for google_alerts-0.2.1-py2-none-any.whl
Algorithm Hash digest
SHA256 78809ad9fffa3080fb31db862d7cd2e9cee4824f1fd95a9e1ebacd75720efcb5
MD5 3cb2be414c5f039a7e6190edd77322f4
BLAKE2b-256 f99ddd944fef49c7fe6f8c696be3a6fe1cfdd68fe5b61f911474f436e65ddaac

See more details on using hashes here.

Supported by

AWS Cloud computing and Security Sponsor Datadog Monitoring Depot Continuous Integration Fastly CDN Google Download Analytics Sentry Error logging StatusPage Status page