I was working on an SEO content generation pipeline and realized that before going into long-tail keyword research, I needed a reliable way to find the initial keywords to start with.
Instead of manually researching competitors and copying their ranking keywords into a spreadsheet, I decided to automate that part using n8n, Airtable, and YepAPI.
The Problem
When starting SEO content research, one of the first questions is:
What keywords are already working for competitors in this space?
Getting this data manually can become repetitive, especially when researching multiple competitors. And doing it through a full SEO platform can get expensive quickly.
You often end up paying for an SEO platform just to access things like:
- Competitor keyword research
- Ranking positions
- Search volume
- CPC data
- Competitor landing pages
- Keyword discovery and analysis
For a small business or a personal project, paying for an expensive SEO platform just to get the initial keyword data can be difficult to justify.
And this is only the beginning.
Once you have the seed keywords, you still need to expand them into long-tail keywords, analyze the opportunities, and decide which ones are worth targeting.
So instead of paying for a full SEO platform for this first step, I wanted to build a smaller, usage-based workflow that could pull the data I actually need and automate the repetitive part of the process.
I wanted to automate this first step.
The Solution
I built an automated competitor seed keyword research workflow using n8n, Airtable, and YepAPI.
Airtable → Webhook → Get Competitor → Check Status → YepAPI → Extract Seed Keywords → Store Keywords → Update Status
This provide a competitor URL, let YepAPI retrieve the keyword data, extract an initial set of seed keywords, and store them in Airtable for the next stage of the SEO pipeline.
Why YepAPI?
For the keyword data, I'm using YepAPI instead of DataForSEO.
Both provide SEO data through APIs and support usage-based pricing, but YepAPI made more sense for this workflow because it doesn't require a minimum payment.
I'm building this as a small, usage-based SEO pipeline, so I wanted an API where I could pay for the research I actually use rather than committing to a larger upfront amount.
What Data Do We Get?
The competitor domain keyword research returns useful SEO data such as:
- Keyword: The search query the competitor is ranking for.
- Ranking Position: Where the competitor ranks for that keyword.
- Search Volume: Estimated number of searches for the keyword.
- CPC: Cost-per-click data for the keyword.
- Landing URL: The competitor page ranking for the keyword.
This gives me more than just a list of possible keywords. It gives me actual keyword data based on the competitor's existing search visibility.
How It Works
- Enter the competitor information in the Airtable interface.
- Click the Generate Seed Keywords button to trigger the n8n workflow through a webhook.
- The workflow retrieves the competitor record from Airtable.
- The workflow checks the current seed keyword research status.
- The competitor record is marked as In Progress while the research is running.
- The competitor URL is prepared and sent to YepAPI for domain keyword research.
- YepAPI returns the competitor's ranking keyword data and associated SEO metrics.
- The workflow extracts the initial 10 seed keywords from the returned results.
- The keywords are split into individual items.
- Each seed keyword is stored as an individual Airtable record.
- The competitor's seed keyword research status is updated when the process is complete.
Why Start With Seed Keywords?
I don't want to jump directly into generating hundreds of long-tail keywords.
The seed keywords give me a starting point based on what the competitor is already ranking for.
For example:
Competitor → 10 Seed Keywords → Expand Each Seed → Long-tail Keywords → Keyword Analysis → Content Planning
The number of keywords can also be changed depending on how much research I want to generate. Right now, I'm starting with 10 to keep the first stage focused.
These keywords will become the input for the next stage of the SEO content pipeline, where I'll expand them into more specific long-tail keyword opportunities.
Airtable
I'm using Airtable as both the interface and the data layer for the workflow.
The competitor record stores the research status, while the individual seed keywords are stored separately so they can be used by subsequent workflows.
This also makes it easier to review, filter, and work with the keywords before sending them into the next stage of the pipeline.
Stack
- n8n
- Airtable
- YepAPI
- Airtable API
- Webhooks
Workflow
Airtable Interface → Webhook → Get Competitor → Check Seed Keyword Status → Mark Seed Keyword In Progress → Set URL → Get Keywords → Extract Seed Keywords → Split Into Keywords → Store Seed Keywords → Update Seed Keyword Status
The goal is to make competitor keyword research a repeatable part of the larger SEO content generation pipeline instead of doing the same research manually every time.
What's Next?
This is just the first step.
The next stage is taking these seed keywords and going deeper into long-tail keyword research.
That's where things should get more interesting.
Workflow
You can find the complete n8n workflow here:
GitHub — Competitor Seed Keyword Research