H1 to Query Simplifier
Use cases
Sends each H1 to the Anthropic API (claude-haiku-4-5 by default) with a prompt to strip marketing language, step counts and promotional words, returning a natural Google search query.
Supports resume: re-upload a partially processed file and completed rows in the H1_Simplified column are skipped.
Partial results are checkpointed every 10 rows.
Configurable inter-request delay (0-2 seconds, default 0.1).
Platform
Python script (requires Python 3.x)
Input
Anthropic API key
CSV with a column of H1 headings (Screaming Frog H1-1 auto-detected)
Output
CSV with all original columns plus an H1_Simplified column containing a natural search query for each H1.
Features
- Anthropic API with claude-haiku-4-5 default model
- Resume support: existing H1_Simplified values are skipped
- Partial results checkpointed every 10 rows
- Configurable delay between requests (0-2s, default 0.1s)
- Graceful stop on fatal errors (auth, rate limit, model not found)
- Auto-detects H1 columns (any column with "h1" in the name)
How to use
- 1 Enter your Anthropic API key in the sidebar
- 2 Optionally change the model name
- 3 Upload your CSV and select the H1 column
- 4 Click Simplify H1s
- 5 Download the CSV with the H1_Simplified column
Frequently asked questions
- Which Anthropic model does it use?
- claude-haiku-4-5 by default. The model name is editable in the sidebar, so you can switch to a larger model if quality matters more than cost for your use case. Each H1 is one API call with max_tokens set to 200.
- Can I resume a partially completed run?
- Yes. If your CSV already has an H1_Simplified column with values, those rows are skipped. Upload the same file (or the partial output from a failed run) and only blank rows will be processed. Results are checkpointed to session state every 10 rows.
- What happens if the API rate-limits me?
- The tool stops immediately on a rate limit error and preserves all partial results processed so far. You can download what was completed, increase the delay slider (0-2 seconds, default 0.1), and re-upload the file to resume from where it stopped.
- Does it work with non-English H1s?
- The prompt asks for a natural Google search query without specifying a language, so non-English H1s will typically produce English queries. If you need the output in the original language, edit the model name to a multilingual model or modify the prompt.
- How does it handle empty or null H1 values?
- Rows where the H1 column is NaN or an empty string are skipped entirely and left blank in the output. They do not consume an API call.
Want me to run this for you?
I run this tool as a managed service, or build something custom around your data. You get the insights without touching the code.
Related Tools
Suggest a cleaner representative keyword for each keyword using an LLM.
Visualise tagged keyword CSVs as interactive D3.js zoomable circle packing charts.
Tag keywords using substring matching against up to 7 classification columns.
Two-level eBay related search scraping with ECharts tree visualisations.
Assess keyword difficulty using allintitle, phrase match, and SERP clustering.
Convert URL lists into redirect rules for different platforms.
Need something built for your business?
This tool started as bespoke client work. I build custom scripts, data pipelines, and full apps for SEO and product data problems that off-the-shelf tools don't solve.
Tell Me What You Need