advertools
Digital Marketing productivity and analysis tools.
What it is and what it does
advertools is a Python package designed to reduce the data-wrangling overhead in digital marketing work. Rather than building a monolithic framework, it provides independent functions that each handle one specific task well—generating keywords, creating ads, crawling websites, parsing search results, downloading sitemaps—and returns results as pandas DataFrames so you can combine them with other tools. The package is built on top of established libraries like Scrapy for crawling and requests for HTTP operations, and follows a Unix-like philosophy: each function does one thing, they work together in pipelines, and they handle text/tabular data as a universal interface. It targets practitioners doing SEO, SEM campaign setup, and online marketing analysis who spend most of their time manipulating URLs, stitching tables together, and generating campaign data rather than building models.
Use it for:
- Generate keyword variations for SEM campaigns at scale, then map them to ad copy and landing pages
- Crawl a website to extract SEO metadata (titles, headers, status codes, custom selectors) and analyze site structure
- Download and parse XML sitemaps and robots.txt files to audit site indexation and crawl directives
- Query Google and YouTube SERP data via API to track rankings and search results for keyword analysis
- Create templated ad copy by bulk-replacing product names and text segments across hundreds of ads
Worth the install?
AI-flagged interpretation of the facts on this page — verify before relying
advertools provides data manipulation and analysis functions for digital marketing workflows—keyword generation, ad creation, SEO crawling, SERP parsing, and sitemap handling—returning results as DataFrames for further analysis.
Yes. The package is actively maintained, has no known vulnerabilities, installs with low friction, and solves a real pain point in marketing automation—data preparation and campaign setup. The modular design and DataFrame-first approach make it easy to integrate into existing Python workflows. Install it if you work with SEO, SEM, or digital marketing data at scale.
Install
advertools on PyPI
pip
pip install advertoolsuv
uv add advertoolspoetry
poetry add advertoolsInstalling advertools
Before you install
Low friction installation with a pure-Python wheel. Active maintenance with a recent release 58 days ago and 1437 repository stars. Six runtime dependencies (pandas, scrapy, requests, pyarrow, twython, pyasn1) are all widely used and stable.
License in practice
Licensed under MIT (permissive), allowing free use, modification, and distribution with minimal restrictions.
Quickstart
pip install advertools
import advertools as adv
# Generate keyword variations
keywords = adv.kw_generate(
products=['laptop', 'tablet'],
words=['cheap', 'best']
)
# Crawl a website for SEO data
adv.spider(
'https://example.com',
output_file='crawl_results.csv'
)
Requires Scrapy and its dependencies; large crawls may need custom Scrapy settings and sufficient system resources.
Verify before relying
- Whether the package supports Python 2 as suggested by the wheel filename, or Python 3 only as the classifier indicates
- Specific version constraints for runtime dependencies and minimum Python version
Package facts
| License | not declared (permissive) |
| Python support | not specified |
| Install friction | low — pure-Python wheel |
| Runtime dependencies | 6 — pandas, pyasn1, scrapy, twython, pyarrow, requests |
| Maintenance | actively maintained — 58 days since the last release |
| Last repo commit | |
| First released | |
| Downloads | 74,482/month — #14,827 on PyPI (30-day window, as of 2026-08-14) |
| Known vulnerabilities | none known (OSV.dev, checked 2026-08-14) |
Evidence: advertools-0.18.0-py2.py3-none-any.whl
Keywords: seo, marketing, advertising, adwords, bingads, search-engine-marketing, online-marketing, digital-marketing, digital-advertising, keywords
Tags
More WWW/HTTP packages
urllib3 is an HTTP client library that provides…
permissive · top 100 on PyPI
requestsRequests is a Python HTTP library that…
permissive · top 100 on PyPI
h11h11 is a pure-Python HTTP/1.1 protocol…
permissive · top 100 on PyPI
httpxHTTPX is a fully featured HTTP client library…
permissive · top 100 on PyPI
httpcoreA minimal low-level HTTP client library that…
permissive · top 100 on PyPI
aiohttpaiohttp is an async HTTP client and server…
permissive · top 100 on PyPI
facebook-businessProvides Python bindings to Facebook's Business…
unclear · top 5,000 on PyPI
twitter-adsA Python SDK for managing Twitter Ads…
permissive · top 15,000 on PyPI
dataforseo-clientA Python client library for the DataForSEO REST…
unclear · top 15,000 on PyPI
googleadsClient library for interacting with Google Ad…
permissive · top 5,000 on PyPI
klaviyo-apiPython client library for the Klaviyo marketing…
permissive · top 15,000 on PyPI
apache-airflow-providers-facebookIntegrates Apache Airflow with Facebook Ads,…
permissive · top 15,000 on PyPI
bingadsBing Ads Python SDK provides proxy classes and…
permissive · top 15,000 on PyPI
Salesforce-FuelSDKProvides Python bindings to Salesforce…
permissive · top 15,000 on PyPI
google-meridianMeridian is a Bayesian marketing mix modeling…
unclear · top 15,000 on PyPI
google-ads-admanagerPython client library for Google Ad Manager…
permissive · top 15,000 on PyPI