🔓 Unlock all 10,000+ workflows & prompts free Join Newsletter →
✅ Full access unlocked — explore all 10,000 AI workflow and prompt templates Browse Templates →
Home n8n Workflow
January 22, 2026

DataForSEO + Airtable: keyword research, organized

Lisa Granqvist Partner Workflow Automation Expert

Keyword research falls apart the moment you try to keep it organized. Ideas live in one sheet, SERP notes in another, “People Also Ask” questions in a doc, and the links between them are… mostly in your head.

This is where content marketers start losing hours, and honestly, agency owners feel it too when they’re juggling multiple clients. Even a solo founder trying to publish consistently runs into the same mess. With this DataForSEO Airtable automation, you keep every seed keyword connected to the research that actually proves it’s worth writing.

You’ll see how the workflow pulls keyword ideas, SERPs, and questions from DataForSEO, then writes everything into a relational Airtable base so you can filter, search, and plan faster.

How This Automation Works

The full n8n workflow, from trigger to final output:

n8n Workflow Template: DataForSEO + Airtable: keyword research, organized

The Problem: Keyword Research Becomes Unusable Fast

You start with good intentions: a list of seed keywords and a plan to validate them. Then reality hits. One keyword turns into 40 suggestions, 20 related terms, 10 “autocomplete” variations, a SERP you should screenshot, and a handful of People Also Ask questions that would make great H2s. If you’re doing it manually, you either stop halfway or you spend your best creative energy copying and cleaning data. Worse, you lose the relationships between the data, so later you can’t answer basic questions like “Which seed generated this cluster?” or “Did we already cover this angle for another client?”

It adds up fast. Here’s where it usually breaks down.

  • You end up re-checking the same SERPs every few weeks because your notes aren’t tied to the original keyword.
  • Copy-pasting keyword lists into spreadsheets introduces messy duplicates, inconsistent formatting, and the occasional “why is this in here?” row.
  • People Also Ask questions get collected, but they never make it into outlines because they’re not linked to the pages you planned.
  • Scaling to 50 or 200 seeds becomes a weekend project, so you delay content decisions that should take an hour.

The Solution: DataForSEO Research, Written Into Airtable Automatically

This workflow turns keyword research into a repeatable system. It starts when an incoming webhook triggers n8n, which means you can run it from a button, a form, a scheduled job, or even another workflow. n8n pulls the “primary keyword” (your seed) from Airtable, prepares the API parameters once, then calls several DataForSEO endpoints to gather different angles of research. As results come back, the workflow expands the lists into individual items, maps the fields into a clean structure, filters out irrelevant SERP data, and creates organized records back in Airtable. At the end, your seed keyword gets its status updated so you can see what’s been processed and what’s still waiting.

The workflow kicks off via webhook, looks up the seed keyword in Airtable, then fans out into multiple DataForSEO API calls (related keywords, suggestions, autocomplete, ideas, subtopics, plus SERP and PAA). Finally, it writes each dataset into the right Airtable tables so everything stays linked back to the original seed.

What You Get: Automation vs. Results

Example: What This Looks Like

Say you research 20 seed keywords for a new blog category. Manually, you might spend about 10 minutes per seed pulling suggestions and related terms, plus another 10 minutes reviewing SERPs and copying People Also Ask questions, which is roughly 6–7 hours total. With this workflow, you send the seeds to Airtable and trigger the run; n8n handles the DataForSEO calls and writes everything back while you do other work. Even if you budget 20 minutes of “check the output and pick winners,” you’ve traded a full day of busywork for a short review session.

What You’ll Need

  • n8n instance (try n8n Cloud free)
  • Self-hosting option if you prefer (Hostinger works well)
  • DataForSEO for keyword + SERP API data
  • Airtable to store linked keyword research
  • DataForSEO API credentials (get them from your DataForSEO dashboard)

Skill level: Intermediate. You’ll connect accounts, paste API credentials, and confirm Airtable tables/fields match the template.

Don’t want to set this up yourself? Talk to an automation expert (free 15-minute consultation).

How It Works

A webhook starts the run. You trigger the workflow from wherever you like, then n8n immediately grabs the identifiers it needs to look up the correct seed keyword in Airtable.

The seed keyword is fetched and packaged for API calls. The workflow pulls your primary keyword record, then prepares consistent parameters so every DataForSEO request uses the same settings (location, language, and other targeting inputs).

DataForSEO is queried for multiple research angles. n8n calls endpoints for related keywords, suggestions, autocomplete, ideas, subtopics, and SERP data. Results are expanded into individual items, filtered where needed (like separating organic results and PAA), and mapped into a clean structure that Airtable can accept.

Airtable becomes the “source of truth.” Records are created in the right tables, linked back to the seed keyword, and the seed’s status is updated so you can track what’s done, what’s queued, and what needs another pass.

You can easily modify which endpoints you pull (for example, skip SERPs for quick ideation) based on your needs. See the full implementation guide below for customization options.

Step-by-Step Implementation Guide

Step 1: Configure the Webhook Trigger

Set up the inbound request that starts the workflow and passes the Airtable record ID.

  1. Add and configure Incoming Webhook Trigger with HTTP Method set to POST and Path set to 20d50a4c-b0cf-4f32-82ba-09ca88f3a699.
  2. Ensure the incoming payload includes query.recordID so Map Airtable Identifiers can map the Airtable record reference.
  3. Connect Incoming Webhook Trigger to Map Airtable Identifiers to begin the data enrichment chain.
⚠️ Common Pitfall: If query.recordID is missing, Fetch Primary Keyword and all Airtable updates will fail because no record can be resolved.

Step 2: Connect Airtable and Map Identifiers

Define the Airtable base and record IDs, then fetch the primary keyword record used across all downstream branches.

  1. In Map Airtable Identifiers, set airtable_base_id to apprrQ0Dv1cJOfMi9 and airtable_record_id to {{ $json.query.recordID }}.
  2. Open Fetch Primary Keyword and keep ID set to =recYwGySY79Qrp0ZJ (or replace with your record ID logic).
  3. Credential Required: Connect your airtableTokenApi credentials to Fetch Primary Keyword.
  4. Confirm the base uses {{ $json.airtable_base_id }} so all Airtable nodes share a dynamic base reference.
Connect Airtable credentials across all Airtable nodes (9 nodes handle primary keywords, SERP results, and master keyword variations).

Step 3: Set Up API Parameter Preparation

Standardize keyword, language, and limits so each API branch receives identical parameters.

  1. Configure Prepare API Parameters to assign fields from the fetched record: Primary Keyword to {{ $json['Primary Keyword'] }}, Location to {{ $json.Location }}, Language to {{ $json.Language }}, Limit to {{ $json.Limit }}, and Depth to {{ $json.Depth }}.
  2. Connect Fetch Primary Keyword to Prepare API Parameters so all downstream API requests are aligned.
⚠️ Common Pitfall: If any of these fields are missing in Airtable, API requests will send blank values and return incomplete results.

Step 4: Configure Parallel DataForSEO API Requests

Trigger multiple keyword data endpoints in parallel for related keywords, suggestions, ideas, autocomplete, SERP, and subtopics.

  1. Prepare API Parameters outputs to Related Keyword API Call, Suggestion API Request, Idea API Request, Autocomplete API Call, SERP API Call, Subtopic API Request, and Update Primary Keyword Status in parallel.
  2. For Related Keyword API Call, set URL to https://api.dataforseo.com/v3/dataforseo_labs/google/related_keywords/live and keep the JSON body expression as defined.
  3. For Suggestion API Request, set URL to https://api.dataforseo.com/v3/dataforseo_labs/google/keyword_suggestions/live with the provided JSON body expression.
  4. For Idea API Request, set URL to https://api.dataforseo.com/v3/dataforseo_labs/google/keyword_ideas/live with the provided JSON body expression.
  5. For Autocomplete API Call, set URL to https://api.dataforseo.com/v3/serp/google/autocomplete/live/advanced and keep client set to gws-wiz-serp.
  6. For SERP API Call, replace URL with your valid DataForSEO endpoint (current value is https://api.dataforseo.[CONFIGURE_YOUR_API_KEY]).
  7. For Subtopic API Request, set URL to https://api.dataforseo.com/v3/content_generation/generate_sub_topics/live and keep topic mapped to {{ $json['Primary Keyword'] }}.
  8. Credential Required: Connect your httpBasicAuth or httpHeaderAuth credentials to all DataForSEO request nodes (6 HTTP Request nodes).
⚠️ Common Pitfall: The SERP API Call URL contains a placeholder. Replace it with a valid DataForSEO endpoint before testing.

Step 5: Expand, Filter, and Map API Results

Split API arrays into individual items and map the fields needed for Airtable outputs.

  1. Connect Related Keyword API CallExpand Related Items (split out tasks[0].result[0].items) → Map Related Keyword Fields.
  2. Connect Suggestion API RequestExpand Suggestion ItemsMap Suggestion Fields.
  3. Connect Idea API RequestExpand Idea ItemsMap Idea Fields.
  4. Connect Autocomplete API CallExpand Autocomplete ItemsMap Autocomplete Fields, with primary keyword mapped to {{ $('Prepare API Parameters').item.json['Primary Keyword'] }}.
  5. Expand SERP Items outputs to both Filter Organic Results and Filter PAA Results in parallel.
  6. Set Filter Organic Results to match leftValue {{ $json.type }} equals organic, and Filter PAA Results to equals people_also_ask.
  7. Route Filter Organic ResultsMap SERP Fields, and Filter PAA ResultsExpand PAA ItemsMap PAA Fields.
  8. For Subtopic API Request, connect to Expand Subtopic Items (split out tasks[0].result[0].sub_topics) → Map Subtopic Fields.
If any API returns empty arrays, the corresponding split and map nodes will simply pass no items—this is normal and avoids empty Airtable inserts.

Step 6: Configure Airtable Output Nodes

Create keyword records and update the primary keyword status once data collection completes.

  1. Connect Map Related Keyword FieldsCreate Related Keywords to write to the Master All KW Variations table with mapped fields like {{ $json['related keyword'] }} and {{ $now.format('MM-dd-yyyy') }}.
  2. Connect Map Suggestion FieldsCreate Suggested Keywords with Type values like KW Suggestion.
  3. Connect Map Idea FieldsCreate Idea Keywords with Type values like KW Idea.
  4. Connect Map Autocomplete FieldsCreate Autocomplete Keywords to store autocomplete suggestions.
  5. Connect Map SERP FieldsCreate SERP Records with fields like {{ $json.title }}, {{ $json.domain }}, and {{ $json.url }}.
  6. Connect Map PAA FieldsCreate PAA Keywords and keep Type mapped to {{ $json['type '] }}.
  7. Connect Map Subtopic FieldsCreate Subtopic Keywords with Type set to Subtopic.
  8. Set Update Primary Keyword Status to update the Airtable record using {{ $('Map Airtable Identifiers').item.json.airtable_record_id }} and set Trigger to KW Research Complete.
  9. Credential Required: Connect your airtableTokenApi credentials to all Airtable output nodes (9 nodes handle creates and updates).
⚠️ Common Pitfall: Ensure your Airtable field names match the mapped schema (e.g., KW Difficulty, Search Intent, Date Pulled from D4SEO) or record creation will fail.

Step 7: Test and Activate Your Workflow

Verify the webhook payload, DataForSEO responses, and Airtable inserts before activating the workflow.

  1. Click Execute Workflow and send a POST request to Incoming Webhook Trigger with query.recordID referencing a valid Airtable record.
  2. Confirm that Prepare API Parameters receives values for Primary Keyword, Location, Language, Limit, and Depth.
  3. Verify each API branch returns items and that mapped fields appear in Create Related Keywords, Create Suggested Keywords, Create Idea Keywords, Create Autocomplete Keywords, Create SERP Records, Create PAA Keywords, and Create Subtopic Keywords.
  4. Check Airtable to ensure new records are created with the expected Primary Keyword and date fields, and that Update Primary Keyword Status sets Trigger to KW Research Complete.
  5. When tests are successful, toggle the workflow to Active for production use.
🔒

Unlock Full Step-by-Step Guide

Get the complete implementation guide + downloadable template

Common Gotchas

  • DataForSEO credentials can expire or have IP/security restrictions. If calls start failing, check your DataForSEO dashboard and the API access settings 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.
  • Airtable record creation fails silently when fields don’t match the base. If new rows aren’t appearing, compare your Airtable table/field names to what the workflow’s mapping steps expect.

Frequently Asked Questions

How long does it take to set up this DataForSEO Airtable automation?

About an hour if your Airtable base is ready.

Do I need coding skills to automate DataForSEO keyword research into Airtable?

No. You will connect accounts, add API credentials, and match a few Airtable fields.

Is n8n free to use for this DataForSEO Airtable automation workflow?

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 DataForSEO API costs (pay-as-you-go, usually a few dollars per batch depending on endpoints).

Where can I host n8n to run this automation?

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.

Can I customize this DataForSEO Airtable automation workflow for different countries and languages?

Yes, and it’s one of the best reasons to use it. Update the workflow’s “Prepare API Parameters” mapping so each DataForSEO request uses the right location and language values. You can also customize which datasets you store by toggling which API calls run (for example, run suggestions and related keywords daily, then pull SERPs weekly). If your Airtable base has separate tables per market, adjust the “Map Airtable Identifiers” and record creation nodes so each run writes to the correct destination.

Why is my DataForSEO connection failing in this workflow?

Usually it’s an invalid or restricted API credential. Regenerate your DataForSEO API login/key (or confirm your allowed IP/security settings), then update the credentials used by the HTTP Request nodes in n8n. If it only fails on bigger runs, you may also be hitting rate limits or sending parameters that the endpoint rejects, so check the HTTP response body in the node execution for the exact error message.

How many keywords can this DataForSEO Airtable automation handle?

A lot, but it depends on your Airtable limits and how many records you generate per seed.

Is this DataForSEO Airtable automation better than using Zapier or Make?

Often, yes. This workflow fans out into multiple API calls, expands large lists, filters SERP/PAA data, and writes linked records back to Airtable, which is the kind of multi-step logic that gets expensive or awkward in simpler tools. n8n also gives you a self-host option, so high-volume research doesn’t automatically mean a higher bill. Zapier or Make can still be fine for a basic “one request, one table” setup. If you want the relational structure and multiple datasets per seed, n8n is usually the smoother fit. Talk to an automation expert if you’re unsure.

Once this is running, keyword research stops being a one-off chore and turns into an asset you can reuse. The workflow handles the collecting and organizing, so you can focus on picking winners and publishing.

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.

Lisa Granqvist

Workflow Automation Expert

Expert in workflow automation and no-code tools.

×

Use template

Get instant access to this n8n workflow Json file

💬
Get a free quote today!
Get a free quote today!

Tell us what you need and we'll get back to you within one working day.

Get a free quote today!
Get a free quote today!

Tell us what you need and we'll get back to you within one working day.

Launch login modal Launch register modal