{"id":716,"date":"2026-10-20T20:13:10","date_gmt":"2026-10-20T20:13:10","guid":{"rendered":"https:\/\/dataforseo.com\/templates\/?p=716"},"modified":"2026-10-20T20:13:25","modified_gmt":"2026-10-20T20:13:25","slug":"label-search-intent-dataforseo-n8n","status":"publish","type":"post","link":"https:\/\/dataforseo.com\/templates\/label-search-intent-dataforseo-n8n\/","title":{"rendered":"Label search intent from Google top 10 with DataForSEO + n8n"},"content":{"rendered":"\n<h3 class=\"wp-block-heading\">Quick overview<\/h3>\n\n\n\n<p class=\"wp-block-paragraph\">For every keyword in a Google Sheet, the workflow reads Google&#8217;s top 10 and tells you what the results page actually wants: which search intents it serves, in what form, and how long the winning pages are. The same method is also available as an open-source Python library with a browser playground (Intent Labeler).<\/p>\n\n\n\n<h3 class=\"wp-block-heading\">Who it&#8217;s built for<\/h3>\n\n\n\n<p class=\"wp-block-paragraph\">SEO specialists, content strategists and agencies who plan pages and briefs from real search results instead of guessing.<\/p>\n\n\n\n<h3 class=\"wp-block-heading\">Workflow breakdown<\/h3>\n\n\n\n<ol class=\"wp-block-list\">\n<li>Add keywords, country and language codes to the Keywords tab of your copy of the Google Sheet.<\/li>\n\n\n\n<li>The verified DataForSEO node fetches the live Google top 10 with People Also Ask, related searches and AI Overview.<\/li>\n\n\n\n<li>Optionally, DataForSEO reads every ranking page (OnPage content parsing).<\/li>\n\n\n\n<li>Optionally, DataForSEO Labs adds search volume with seasonality (keyword overview) and traffic per URL (bulk traffic estimation).<\/li>\n\n\n\n<li>A low-cost OpenRouter model groups the results into intents. It never sees numbers.<\/li>\n\n\n\n<li>Code nodes count share of results and traffic per intent, reference length, content form and warnings such as a mixed SERP or &#8220;this query does not want an article&#8221;.<\/li>\n\n\n\n<li>The summary, intents and per-result data are written back to the sheet, and the keyword is marked as done.<\/li>\n<\/ol>\n\n\n\n<h3 class=\"wp-block-heading\">What you get<\/h3>\n\n\n\n<ul class=\"wp-block-list\">\n<li>Summary, Intents and Results tabs in Google Sheets.<\/li>\n\n\n\n<li>The cost of every keyword: about $0.03 with all steps on, $0.003 for SERP and grouping only.<\/li>\n\n\n\n<li>Every number is computed in code, so each figure can be checked by hand.<\/li>\n<\/ul>\n\n\n\n<h3 class=\"wp-block-heading\">What you need to get started<\/h3>\n\n\n\n<ul class=\"wp-block-list\">\n<li>A DataForSEO account with API access and the verified DataForSEO node (n8n-nodes-dataforseo) installed in n8n.<\/li>\n\n\n\n<li>An OpenRouter API key.<\/li>\n\n\n\n<li>A Google account (Google Sheets OAuth2) and your copy of the template Google Sheet (the link is in the workflow&#8217;s Setup note).<\/li>\n<\/ul>\n\n","protected":false},"excerpt":{"rendered":"<p>Quick overview For every keyword in a Google Sheet, the workflow reads Google&#8217;s top 10 and tells you what the results page actually wants: which search intents it serves, in what form, and how long the winning pages are. The same method is also available as an open-source Python library with a browser playground (Intent [&hellip;]<\/p>\n","protected":false},"author":7,"featured_media":717,"comment_status":"open","ping_status":"open","sticky":false,"template":"","format":"standard","meta":{"footnotes":""},"categories":[38],"tags":[18,32],"tools":[19,20],"class_list":["post-716","post","type-post","status-publish","format-standard","has-post-thumbnail","hentry","category-keyword-analysis","tag-serp-api","tag-dataforseo-labs-api","tools-n8n","tools-google-spreadsheets"],"_links":{"self":[{"href":"https:\/\/dataforseo.com\/templates\/wp-json\/wp\/v2\/posts\/716","targetHints":{"allow":["GET"]}}],"collection":[{"href":"https:\/\/dataforseo.com\/templates\/wp-json\/wp\/v2\/posts"}],"about":[{"href":"https:\/\/dataforseo.com\/templates\/wp-json\/wp\/v2\/types\/post"}],"author":[{"embeddable":true,"href":"https:\/\/dataforseo.com\/templates\/wp-json\/wp\/v2\/users\/7"}],"replies":[{"embeddable":true,"href":"https:\/\/dataforseo.com\/templates\/wp-json\/wp\/v2\/comments?post=716"}],"version-history":[{"count":6,"href":"https:\/\/dataforseo.com\/templates\/wp-json\/wp\/v2\/posts\/716\/revisions"}],"predecessor-version":[{"id":751,"href":"https:\/\/dataforseo.com\/templates\/wp-json\/wp\/v2\/posts\/716\/revisions\/751"}],"wp:featuredmedia":[{"embeddable":true,"href":"https:\/\/dataforseo.com\/templates\/wp-json\/wp\/v2\/media\/717"}],"wp:attachment":[{"href":"https:\/\/dataforseo.com\/templates\/wp-json\/wp\/v2\/media?parent=716"}],"wp:term":[{"taxonomy":"category","embeddable":true,"href":"https:\/\/dataforseo.com\/templates\/wp-json\/wp\/v2\/categories?post=716"},{"taxonomy":"post_tag","embeddable":true,"href":"https:\/\/dataforseo.com\/templates\/wp-json\/wp\/v2\/tags?post=716"},{"taxonomy":"tools","embeddable":true,"href":"https:\/\/dataforseo.com\/templates\/wp-json\/wp\/v2\/tools?post=716"}],"curies":[{"name":"wp","href":"https:\/\/api.w.org\/{rel}","templated":true}]}}