AdWords API Local Database Sync project

78 views
Skip to first unread message

AdWords API Advisor

unread,
Sep 29, 2008, 3:07:47 PM9/29/08
to AdWords API Forum
Today, we're pleased to announce the AdWords API Local Database Sync
project at

http://code.google.com/p/awapi-local-db-sync/

The scripts that make up the project can be used to schedule reports
using the AdWords API, store the results in a local database (using
SQLite), and then run queries against the database.

One of the recommendations listed on our recent list of "AdWords API:
Top Ten Practices" (http://adwordsapi.blogspot.com/2008/07/adwords-api-
ten-best-practices.html) extolled the virtues of maintaining your
AdWords account information in a local database, and using the AdWords
API to keep that information up to date. Querying a local database
offers speed and cost advantages compared to making repeated AdWords
API calls when answering questions like "How many active AdWords
campaigns do I have across all my accounts?" Maintaining a local
database with historical information can also help you answer
questions that the AdWords API alone can't, like "Which keywords were
updated in my accounts during the past week?" Now, with the AdWords
API Local Database Sync you can answer these questions.

Here are some of the technical details: The scripts are written in
Python, and make use of the SOAPpy libraries for accessing the AdWords
API SOAP service. The Python code is written against the dbapi2
database API, and by default it will use the SQLite implementation and
store the report data in a SQLite database file on the local file
system. It's possible to swap out the SQLite libraries for another
database library that supports the dbapi2 interface.

While some developers may have already written their own in-house
AdWords database synchronization code, we wanted to provide a
standalone, open source solution for those developers who don't yet
have such a system in place. We're also hopeful that the code serves
as a helpful example of scheduling and parsing AdWords API reports,
and that even folks who are already maintaining their own databases
will get something out of the project.

Visit the project's home on Google Code (http://code.google.com/p/
awapi-local-db-sync/) and give it a try!

Cheers,
-Jeffrey Posnick, AdWords API Team

Jan Piotrowski (AdWords API Guru)

unread,
Sep 29, 2008, 5:10:22 PM9/29/08
to AdWords API Forum
Wow Jeffrey, that looks nice. Not my language of choice, but I will
definitely have a look at the db tables and the way you parse the
reports.

Good work!

- Jan

Robb

unread,
Sep 30, 2008, 1:22:53 PM9/30/08
to AdWords API Forum
Jeffrey,

Looks very nice since I am working on our SEM Campaign Manager which
needs this type of functionality.

What do you suggest for setting up an environment on Windows to
support your project?
Which Python runtime do I need?
What other libraries do I need to install besides SQLite?

Robb

ckrahn

unread,
Oct 1, 2008, 11:28:24 AM10/1/08
to AdWords API Forum
Very nice work indeed!

*downloaded and trying it already*

Expect some feedback/error reports soon.

Regards,
Christian

On 29 Sep., 21:07, AdWords API Advisor <adwordsapiadvi...@google.com>
wrote:

AdWords API Advisor

unread,
Oct 2, 2008, 12:04:37 PM10/2/08
to AdWords API Forum
Hello Robb,

I'd give the appropriate installer for your system architecture a try
from

http://python.org/download/

I developed the code against Python 2.5.x. Python 2.6 was just
released yesterday and I haven't given it a go with that yet. Python
2.4.x should also work, but the SQLite Python module isn't bundled
with 2.4.x.

The headers and shared objects for SQLite need to be installed on
your system, and in addition to that you need the SOAPpy Python
library installed to access the AdWords API. There are links to the
homepages of both of those products in the README.

If you uncover any incompatibilities or bugs the best place to report
them is the project's issue track at

http://code.google.com/p/awapi-local-db-sync/issues/list

Cheers,
-Jeff Posnick, AdWords API Team
Reply all
Reply to author
Forward
0 new messages