Semrush to Google Sheets, keyword metrics logged
Keyword research gets messy fast. You grab ideas from Semrush, paste them somewhere, lose the country setting, then realize half the CPC numbers are missing or formatted differently.
This is where Semrush Sheets logging helps most. SEO managers trying to plan content, agency owners prepping client roadmaps, and marketing generalists doing “a quick keyword list” all hit the same wall. Too many tabs. Not enough trust in the data.
This n8n workflow pulls keyword suggestions and metrics via the Semrush Keyword Research API (RapidAPI) and appends everything into Google Sheets in a consistent structure. You’ll see what it does, what you need, and the gotchas to avoid.
How This Automation Works
The full n8n workflow, from trigger to final output:
n8n Workflow Template: Semrush to Google Sheets, keyword metrics logged
flowchart LR
subgraph sg0["On form submission Flow"]
direction LR
n0["<div style='background:#f5f5f5;padding:10px;border-radius:8px;display:inline-block;border:1px solid #e0e0e0'><img src='https://flowpast.com/wp-content/uploads/n8n-workflow-icons/form.svg' width='40' height='40' /></div><br/>On form submission"]
n1["<div style='background:#f5f5f5;padding:10px;border-radius:8px;display:inline-block;border:1px solid #e0e0e0'><img src='https://flowpast.com/wp-content/uploads/n8n-workflow-icons/httprequest.dark.svg' width='40' height='40' /></div><br/>Keyword Research"]
n2@{ icon: "mdi:database", form: "rounded", label: "Append Data to Google Sheet", pos: "b", h: 48 }
n1 --> n2
n0 --> n1
end
%% Styling
classDef trigger fill:#e8f5e9,stroke:#388e3c,stroke-width:2px
classDef ai fill:#e3f2fd,stroke:#1976d2,stroke-width:2px
classDef aiModel fill:#e8eaf6,stroke:#3f51b5,stroke-width:2px
classDef decision fill:#fff8e1,stroke:#f9a825,stroke-width:2px
classDef database fill:#fce4ec,stroke:#c2185b,stroke-width:2px
classDef api fill:#fff3e0,stroke:#e65100,stroke-width:2px
classDef code fill:#f3e5f5,stroke:#7b1fa2,stroke-width:2px
classDef disabled stroke-dasharray: 5 5,opacity: 0.5
class n0 trigger
class n2 database
class n1 api
classDef customIcon fill:none,stroke:none
class n0,n1 customIcon
The Problem: Keyword metrics end up inconsistent
Manual keyword research usually starts with good intentions, then turns into copy-paste chaos. You pull a batch of suggestions, then someone asks for the same keywords “but for UK,” and now you have two exports with different columns and date formats. CPC values come through as text in one file and numbers in another. Even worse, a week later you can’t remember which dataset was “final,” so you redo the research just to be safe. That’s lost time, but it’s also lost confidence when you’re making content decisions off shaky inputs.
It adds up fast. Here’s where it usually breaks down.
- You repeat the same lookup for each keyword-country pair, which quietly eats a couple hours every week.
- Columns shift between exports, so your “CPC” and “volume” don’t line up across campaigns.
- People forget to log the date and country, which makes historical comparisons basically useless.
- One small paste error can skew a whole content plan, and you won’t notice until results disappoint.
The Solution: Semrush keyword research logged straight to Sheets
This workflow turns keyword research into a simple input-and-log process. You submit a keyword and a country through a lightweight form, and n8n immediately sends that data to the Semrush Keyword Research endpoint (via RapidAPI). The response comes back with suggestions and the numbers you actually use to make decisions: search volume, CPC, competition, keyword difficulty, and related keywords. Then it appends a clean row (or rows) into Google Sheets, using a consistent structure every time, so you can filter, sort, share, or build a content brief without cleaning anything up first. One run creates a reliable record you can come back to later.
The workflow starts with a form submission, so you don’t need to touch the n8n editor every time you want data. Next, the HTTP request queries Semrush Keyword Research using your keyword + country. Finally, Google Sheets stores the results with the same columns each run, which means your planning sheet stays readable as it grows.
What You Get: Automation vs. Results
| What This Workflow Automates | Results You’ll Get |
|---|---|
|
|
Example: What This Looks Like
Say you research 20 keywords each week across 3 countries. Manually, if you spend roughly 5 minutes per keyword to run the query, export, and paste into a sheet, that’s about 5 hours a week. With this workflow, you submit the keyword and country in the form (maybe 1 minute), then let the API run and the sheet update in the background. You still review the list, but the repetitive “get data, format it, paste it” part drops to a few minutes per batch.
What You’ll Need
- n8n instance (try n8n Cloud free)
- Self-hosting option if you prefer (Hostinger works well)
- Google Sheets for storing the keyword metrics log.
- Semrush Keyword Research API (RapidAPI) to fetch suggestions, CPC, volume.
- RapidAPI key (get it from RapidAPI “X-RapidAPI-Key”).
Skill level: Beginner. You’ll connect accounts, paste an API key, and map a few fields to sheet columns.
Don’t want to set this up yourself? Talk to an automation expert (free 15-minute consultation).
How It Works
A form submission kicks it off. You enter a keyword and select (or type) a country, then submit. n8n treats that as the trigger to start the run.
The workflow queries Semrush via RapidAPI. An HTTP request sends your keyword + country to the Semrush Keyword Research endpoint and waits for the response with suggestions and metrics.
Fields are prepared for clean logging. n8n maps the response into the columns you care about (like volume, CPC, competition, difficulty, related keywords) so the spreadsheet stays consistent, even when you run different countries.
Google Sheets becomes the source of truth. The workflow appends a new row (or multiple rows, depending on how you configure it) and keeps the date of research alongside the keyword set.
You can easily modify the sheet columns to match your reporting template based on your needs. See the full implementation guide below for customization options.
Step-by-Step Implementation Guide
Step 1: Configure the Form Trigger
Set up the form that collects keyword research inputs and starts the workflow.
- Add the Form Intake Trigger node as your trigger.
- Set Form Title to
Keyword Research. - Set Form Description to
Keyword Research. - In Form Fields, add two fields: keyword (required) and country (required) with Placeholder set to
in.
keyword and country values to the next node automatically.Step 2: Set Up the Keyword API Request
Configure the API call that queries the SEMrush RapidAPI endpoint using form inputs.
- Add the Keyword Query Request node and connect it after Form Intake Trigger.
- Set URL to
https://semrush-keyword-research-tool.p.rapidapi.com/keyword-tool.php. - Set Method to POST and enable Send Body.
- Set Content Type to
multipart-form-dataand enable Send Headers. - In Body Parameters, add keyword with value
={{ $json.keyword }}and country with value={{ $json.country }}. - In Header Parameters, add x-rapidapi-host set to
semrush-keyword-research-tool.p.rapidapi.comand x-rapidapi-key set to your RapidAPI key.
[CONFIGURE_YOUR_API_KEY] with a valid RapidAPI key or the request will fail.Step 3: Connect Google Sheets
Prepare the Google Sheets connection to store the API results.
- Add the Append Results to Sheets node after Keyword Query Request.
- Set Operation to
append. - Set Authentication to
serviceAccount. - Select your target spreadsheet in Document ID and confirm Sheet Name is
Sheet1(gid=0). - Leave Columns in
autoMapInputDatamapping mode to map the API response automatically.
Credential Required: Connect your googleApi credentials.
Step 4: Review Execution Flow
Confirm the node order matches the intended flow from form submission to API request and storage.
- Ensure Form Intake Trigger is connected to Keyword Query Request.
- Ensure Keyword Query Request is connected to Append Results to Sheets.
Step 5: Test and Activate Your Workflow
Run a manual test to confirm data flows from the form to the API and into Google Sheets.
- Click Execute Workflow and open the form generated by Form Intake Trigger.
- Submit a sample keyword and country value.
- Verify Keyword Query Request returns data and that Append Results to Sheets adds a new row in your sheet.
- When successful, toggle the workflow to Active for production use.
Common Gotchas
- RapidAPI (Semrush Keyword Research) credentials can expire or be tied to a specific plan. If things break, check your RapidAPI dashboard and the “X-RapidAPI-Key” value in n8n first.
- If you’re using Wait nodes or external rendering, processing times vary. Bump up the wait duration if downstream nodes fail on empty responses.
- Google Sheets permissions are easy to overlook. If the append fails, confirm the connected Google account can edit the target spreadsheet and that you didn’t change the sheet tab name after mapping fields.
Frequently Asked Questions
About 30 minutes if your Google Sheet and RapidAPI account are ready.
No. You will connect accounts and paste an API key. Most of the work is mapping fields to the right Sheet columns.
Yes. n8n has a free self-hosted option and a free trial on n8n Cloud. Cloud plans start at $20/month for higher volume. You’ll also need to factor in RapidAPI (Semrush endpoint) usage costs, which depend on your plan and how many keyword requests you run.
Two options: n8n Cloud (managed, easiest setup) or self-hosting on a VPS. For self-hosting, Hostinger VPS is affordable and handles n8n well. Self-hosting gives you unlimited executions but requires basic server management.
Yes, but you’ll want to adjust the form input and the HTTP request payload so it can accept a list of countries. A common approach is to submit a comma-separated country list, split it inside n8n, and run the Semrush request once per country. You can also add a “country” dropdown on the form to reduce bad inputs. The last piece is simple: make sure the Google Sheets append includes the country column so every row stays traceable.
Usually it’s permissions or a changed spreadsheet structure. Reconnect your Google account in n8n, confirm it has edit access to the exact file, and double-check the sheet tab name matches what the node expects. If you added or renamed columns, revisit field mapping so the workflow appends to the right places.
A lot, as long as your RapidAPI plan and n8n execution limits can keep up.
Often, yes, because this workflow benefits from flexible data mapping and room for extra logic. n8n makes it easier to reshape the API response before it hits your sheet, which matters when you want consistent columns across countries and batches. It’s also realistic to grow this into a bigger pipeline later (like notifications, deduping, or writing a Google Doc brief from the chosen keywords) without paying more for every little branch. Zapier or Make can be faster for a simple “API call → add row,” frankly. Talk to an automation expert if you want help choosing.
Once this is running, keyword research stops being a cleanup project. The workflow logs the numbers reliably, and your sheet stays ready for planning whenever you are.
Need Help Setting This Up?
Our automation experts can build and customize this workflow for your specific needs. Free 15-minute consultation—no commitment required.