advertools Review
Python toolkit for SEO and advertising analysis in pandas DataFrames
Advertising & Paid Media · Open Source · OPEN SOURCE
Overview
advertools is a Python package by Elias Dabbas for online marketing analysis. Each function does one job, and the results land in pandas DataFrames. On the advertising side, kw_generate builds keyword lists from product and attribute combinations, and ad_from_string splits a long text into headline and description slots so ad copy can be assembled and checked at scale. urlytics breaks large URL sets into components for reporting, and the *_to_df helpers convert log files, XML sitemaps, robots.txt files and URL lists into DataFrames. The SEO side is just as concrete. spider is a generic SEO crawler built on Scrapy, with full access to Scrapy settings for headers, user agents and crawl limits. robotstxt_to_df downloads robots.txt into a DataFrame, and the sitemap functions download and parse XML sitemaps. serp_goog and serp_yt import search results pages from Google and YouTube, with the search parameters needed for country and language splits. There are also modules for the Twitter and YouTube data APIs, a 3,000-plus emoji database, and extract_ functions that pull hashtags, mentions and emoji out of social text. Version 0.18.0 added a Claude SERP analytics module, which points part of the toolkit at LLM answer data. The package installs from PyPI with pip install advertools, needs no account, and is MIT licensed. Docs live on Read the Docs, with notebooks on Kaggle for practice data. For marketers who work in notebooks rather than dashboards, it covers SERP, keyword, ad text and URL analysis without SaaS pricing.
AI Capabilities
- Claude SERP analytics module (advertools.serp_claude), added in v0.18.0
Key Integrations
Best for
SEO and PPC practitioners comfortable in Python who want SERP, keyword, ad text and URL analysis without per-seat SaaS pricing.
Not for
Marketers who want dashboards, scheduled reports or a no-code workflow. advertools is a library, and you build the output yourself.
Review notes
advertools is a Python package, so the workflow starts with pip install advertools and ends with a DataFrame. The functions are narrow on purpose. kw_generate builds keyword lists from product and attribute combinations, ad_from_string splits a long text into headline and description slots for ad copy work, and urlytics parses large URL sets into components for reporting. None of this needs an account or a key.
SEO and SERP work sits in the other half of the toolkit. spider is a Scrapy-based crawler with full access to Scrapy settings. robotstxt_to_df and the sitemap functions turn robots.txt and XML sitemaps into DataFrames. serp_goog and serp_yt pull Google and YouTube results pages for analysis, with country and language parameters for market splits. Modules for the Twitter and YouTube data APIs round out the data sources, plus an emoji database and extract_ functions for hashtags, mentions and emoji in social text.
Version 0.18.0 added a Claude SERP analytics module, which points the toolkit at LLM answer data. For GEO and AI visibility work, the practical role is data preparation: assembling prompt and keyword sets, parsing answers and comparing brand mentions at scale in code. There is no tracking dashboard on top. Assessed from the project README and docs.
Verdict
A sharp set of Python functions for people who live in notebooks. No UI, no account, and everything ends up in a DataFrame you build reports from yourself.
Pros and cons
| Pros | Cons |
|---|---|
| ✓ MIT licence with free self-hosting | ✗ There is no interface; every task starts in a notebook or a script. |
| ✓ AI capabilities: claude SERP analytics module (advertools.serp_claude), added in v0.18.0 | ✗ SERP and social functions call external APIs, so quotas and billing come from Google, YouTube and Twitter rather than from advertools. |
| ✓ Established community (1,464 GitHub stars) | ✗ Docs are function-by-function reference pages; guided end-to-end workflows are sparse. |
| ✓ Native integrations include Python pandas, Scrapy, Google Search API (5 listed) | |
| ✓ MIT licensed and pip installable; the analysis functions themselves need no account or key. | |
| ✓ Crawler built on Scrapy, so crawl behavior is fully configurable. | |
| ✓ v0.18.0 added Claude SERP analytics, useful for LLM answer data. |
Building your martech shortlist?
The weekly newsletter: one tool teardown, one workflow, no fluff. Free.
Frequently asked questions
What is advertools?
Python toolkit for SEO and advertising analysis in pandas DataFrames. It ships with claude SERP analytics module (advertools.serp_claude), added in v0.18.0, 1,464 GitHub stars. MartechSignal's review covers features, pricing, and how it compares to alternatives.
How much does advertools cost?
advertools is open source - MIT licensed and free to self-host; the public repository carries 1,464 stars; native integrations cover Python pandas, Scrapy, Google Search API. You pay in server time and maintenance, not licences.
Is advertools a good Advertising & Paid Media tool in 2026?
A sharp set of Python functions for people who live in notebooks. No UI, no account, and everything ends up in a DataFrame you build reports from yourself.
Do I need to know Python?
Yes. The package returns pandas DataFrames, so the work happens in notebooks and scripts rather than in a web dashboard.
Can it help with GEO and AI visibility work?
It is a data toolkit rather than a tracking dashboard, but keyword generation, SERP parsing and the Claude SERP analytics module added in v0.18.0 cover the data-preparation side of that work.