🔓 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 + Google Sheets: backlink status updates

Lisa Granqvist Partner Workflow Automation Expert

Your backlink report was “done,” then a client forwards a screenshot: the link is gone. Now you’re re-checking URLs one-by-one, trying to remember which ones were dofollow, and wondering how many other links quietly died last week.

This is the kind of mess that hits SEO managers first, but agency owners and in-house marketing leads feel it too. With backlink status automation, you stop playing detective and start getting reliable statuses inside the spreadsheet you already use.

This workflow pulls backlink rows from Google Sheets, asks DataForSEO to verify each one, and writes back “Live,” “Lost,” or a nofollow-related status so your reporting stays accurate without daily manual checks.

How This Automation Works

The full n8n workflow, from trigger to final output:

n8n Workflow Template: DataForSEO + Google Sheets: backlink status updates

The Problem: Backlink Status Checks Don’t Scale

Backlink tracking starts simple. A few links in a sheet, a quick spot-check, and you move on. Then you’re managing 50, 200, or 1,000 backlinks across multiple campaigns, and the “quick spot-check” turns into a recurring chore you keep postponing. When you do check, it’s slow: load the linking page, search for the anchor, confirm it still points to the right landing page, then note if it’s dofollow or nofollow. Multiply that across a client roster and you get the worst kind of work: repetitive, error-prone, and impossible to finish confidently.

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

  • Checking even 100 backlinks manually can take about 2–3 hours if you’re thorough.
  • Status fields drift out of date, which means your “current” report is often a historical snapshot.
  • Dofollow vs. nofollow gets missed or guessed, and those mistakes lead to bad strategy calls.
  • Lost links don’t get caught early, so you miss the window to ask for a fix or replacement.

The Solution: Automatically Update Backlink Statuses in Sheets

This n8n workflow turns your Google Sheet into a living backlink monitor. You keep your backlink list in a simple table (Backlink URL, Landing page, plus a Status column). When you run the workflow, it reads each row, normalizes the URL (so odd formatting doesn’t break the check), and submits a crawl request to the DataForSEO On-Page API for that backlink page. After a short wait to let the crawl finish, it fetches the results and evaluates what happened: is the backlink still present, and is it dofollow or nofollow? Finally, it writes a clean status back into the same row, so the sheet stays current without you opening a single browser tab.

The workflow starts with a manual run in n8n, which is perfect for weekly reporting or pre-client-call refreshes. From there it loops through your sheet in batches, asks DataForSEO to validate each backlink page, then updates Google Sheets with the final status you can filter and report on.

What You Get: Automation vs. Results

Example: What This Looks Like

Say you maintain 200 backlinks in a sheet for one client. Manually checking them at maybe 2 minutes each is roughly 6–7 hours, and that’s if everything loads quickly and you don’t get interrupted. With this workflow, you kick off a run, let DataForSEO crawl in the background (including the built-in 20-second wait per item), and you come back to a filled Status column. In practice, your “hands-on” time becomes a few minutes, not an afternoon.

What You’ll Need

  • n8n instance (try n8n Cloud free)
  • Self-hosting option if you prefer (Hostinger works well)
  • Google Sheets to store backlinks and statuses.
  • DataForSEO to crawl pages and detect link attributes.
  • DataForSEO API credentials (get them from your DataForSEO dashboard).

Skill level: Intermediate. You’ll paste credentials, map a few fields, and keep your sheet columns consistent.

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

How It Works

Manual run from n8n. You trigger the workflow when you want a refresh (before reporting, after a campaign push, or on a set schedule if you later swap the trigger).

Sheet rows are pulled in and cleaned up. n8n reads your Google Sheet records, then normalizes each backlink URL so domains and paths are in a consistent format for checking.

DataForSEO crawls each backlink page. The workflow submits a crawl task via HTTP request, waits about 20 seconds, then fetches the link results and evaluates whether the backlink exists and what type it is.

Status is written back to the sheet. The same Google Sheet row gets updated with a clear label like Live, Lost, or a nofollow-related status, which makes filtering and client-ready reporting painless.

You can easily modify the status labels to match your reporting language, or expand the output to include extra fields from DataForSEO based on your needs. See the full implementation guide below for customization options.

Step-by-Step Implementation Guide

Step 1: Configure the Manual Trigger

This workflow starts manually so you can validate backlink status checks on demand.

  1. Add the Manual Run Trigger node as the trigger for the workflow.
  2. Keep the node settings default (no parameters required).

Step 2: Connect Google Sheets

Pull the list of backlinks to check from Google Sheets, then later update the status in the same sheet.

  1. Open Retrieve Sheet Records and connect your sheet.
  2. Credential Required: Connect your googleSheetsOAuth2Api credentials.
  3. Set Document to the sheet ID [YOUR_ID] and Sheet Name to Lost links.
  4. Under Range, set Specify Range (A1) to D1:E so only the backlink-related columns are read.
  5. Open Update Sheet Status and connect the same sheet and sheet name.
  6. Credential Required: Connect your googleSheetsOAuth2Api credentials.
  7. Set Operation to appendOrUpdate and map Status to {{ $json.status }} and Backlink URL to {{ $('Iterate Backlink List').item.json.url }}.

⚠️ Common Pitfall: Make sure your sheet has columns named Backlink URL and Landing page, as the workflow references both.

Step 3: Set Up Processing and Batching

Normalize the backlink URLs and iterate through them one at a time to submit crawl tasks.

  1. In Normalize Backlink URL, keep the provided JavaScript to extract domain and url from Backlink URL.
  2. Connect Retrieve Sheet RecordsNormalize Backlink URLIterate Backlink List to process each backlink individually.
  3. Leave Iterate Backlink List with default options so it runs a simple loop.

Step 4: Configure Crawl, Results, and Status Evaluation

Submit a crawl task, wait for completion, fetch results, evaluate backlink status, and write the status back to the sheet.

  1. Configure Submit Crawl Task with URL https://api.dataforseo.com/v3/on_page/task_post and Method POST.
  2. Set JSON Body to =[{"target":"{{ $json.domain }}","start_url":"{{ $json.url }}","max_crawl_pages":1}].
  3. Credential Required: Connect your httpBasicAuth credentials.
  4. Set Pause 20 Seconds to wait for 20 seconds after submitting the crawl task.
  5. Configure Fetch Link Results with URL https://api.dataforseo.com/v3/on_page/links and JSON Body =[{"id":"{{ $json.tasks[0].id }}"}].
  6. Credential Required: Connect your httpBasicAuth credentials.
  7. In Evaluate Backlink Status, keep Mode as runOnceForEachItem and the provided JavaScript to set status to Live, Lost, or Lost (Nofollow).
  8. Ensure the path is connected: Submit Crawl TaskPause 20 SecondsFetch Link ResultsEvaluate Backlink StatusUpdate Sheet Status.

Tip: The crawl service may take longer than 20 seconds for large domains. If you see empty results, increase Pause 20 Seconds.

Step 5: Test and Activate Your Workflow

Validate the full path end-to-end before turning on production usage.

  1. Click Execute Workflow to run the Manual Run Trigger and process a batch.
  2. Confirm that Update Sheet Status writes a status to the Lost links sheet for each Backlink URL.
  3. If the results are empty, check that Retrieve Sheet Records is pulling the correct D1:E range and that Landing page values match the crawl output.
  4. Once verified, toggle the workflow to Active for production use.
🔒

Unlock Full Step-by-Step Guide

Get the complete implementation guide + downloadable template

Common Gotchas

  • Google Sheets credentials can expire or need specific permissions. If things break, check the connected account and permissions inside n8n’s Credentials page 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.
  • DataForSEO API access can fail due to auth, balance limits, or endpoint permissions. If you see HTTP errors, check your DataForSEO dashboard for API status and usage, then confirm the API login/password in n8n.

Frequently Asked Questions

How long does it take to set up this backlink status automation?

About 30–60 minutes if your sheet is already formatted correctly.

Do I need coding skills to automate backlink status updates?

No. You’ll mainly connect accounts and map the right columns in Google Sheets. There is optional code in the workflow, but you can run it as-is.

Is n8n free to use for this backlink status 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 based on how many URLs you check.

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 backlink status automation workflow for weekly scheduled checks?

Yes, and it’s a common tweak. You can replace the Manual Run Trigger with an n8n Schedule trigger, then keep the rest of the workflow the same. Many teams also add extra output columns like “Last Checked” and “Notes,” or adjust the Evaluate Backlink Status logic to use labels that match client dashboards.

Why is my DataForSEO connection failing in this workflow?

Usually it’s incorrect API credentials or an account issue on the DataForSEO side. Double-check the username/password used in the HTTP Request nodes, and confirm your account has API access and available balance. If it fails only on bigger runs, you might be hitting rate limits; slow the batch size in Split in Batches or add a longer wait between requests.

How many backlinks can this backlink status automation handle?

Hundreds is realistic per run, and larger lists work too if you batch them and let the workflow run longer.

Is this backlink status automation better than using Zapier or Make?

Often, yes, because this job isn’t a simple “send data from A to B.” You’re looping over rows, waiting for an API crawl to finish, then making a decision based on the response. n8n handles that logic cleanly without awkward workarounds. Zapier and Make can still work for lightweight checks, but you may run into task costs and harder-to-maintain branching once you scale beyond a small sheet. If you’re unsure, Talk to an automation expert and we’ll sanity-check the best option for your volume and reporting needs.

Accurate backlink statuses shouldn’t depend on someone having a “free afternoon.” Set this up once, keep your Google Sheet fresh, and spend your time on decisions instead of link-checking.

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