Python Google Voice

Joe McCall & Justin Quick

Exposing the Google Voice "API" to the Python language

Google Voice for Python Allows you to place calls, send sms, download voicemail, and check the various folders of your Google Voice Accounts.
You can use the Python API or command line script to schedule calls, check for new recieved calls/sms, or even sync your recorded voicemails/calls.  
Works for Python 2 and Python 3

API Documentation is available at


1. Login to your Linux machine as yourself, a regular user (not root)
2. Extract the tar file gvmirror.tar.gz in your home directory
3. If you do not already have .gvoice file in your home directory, create one as follows:

   cd ~/gvmirror
   [ -f ~/.gvoice ] || cp dot.gvoice ~/.gvoice

4. Edit ~/.gvoice by typing: vi ~/.gvoice
NOTE: In this file, please put your correct google account name, password and corresponding google voice phone number for fields email, password and forwardingNumber respectively
5. Just run the script as follows:
6. Feel free to browse the downloaded files in the directory: ~/gvoice/
7. You may run the script again or nightly through cron if you want!
8. Each time you run the script, it will only download the new messages, not all your messages.


pygooglevoice package is the fork of original pygooglevoice package maintained by Arno Hautala at


User agent for Android:
Mozilla/5.0 (Linux; U; Android 2.2.1; fr-ch; A43 Build/FROYO) AppleWebKit/533.1 (KHTML, like Gecko) Version/4.0 Mobile Safari/533.1


URLs located at this page:


name=_rnr_se value=FjhSozhzWprabboFUQ0bVo5jWmo=

User agent: default

After setting User agent to iPhone 3.0:


TO get just times:
User agent: default

All Parent SMS:

All voicemail:


Google Voice CPAN


testing sms id:

Get Parent SMS messages in XML:
... etc

Get Complete SMS chain for a given parent message in XML:
... etc