DataForSEO

Polar Sponsor
爱发电 赞助
.NET 9.0

使用 DataForSEO API 在 Google 上搜索并收集 SEO 数据,支持 SERP 结果、关键词数据、反向链接和页面分析,适用于需要大规模或高吞吐量的场景。

DataForSEO Skill.

功能概述

DataForSEO Skill.是一项面向实际任务的技能,主要用于Pay-as-yogo Google SERP + SIO数据 API. 低价高容量铅生成最佳. 月承诺——只支付使用费. reditities. 签名于dataforseo.c.。它将相关步骤、工具调用和结果整理方式集中到统一流程中,帮助使用者更快完成目标并减少重复操作。

核心要点

  • 使用时应结合输入条件选择合适的执行方式,核对必要参数、依赖环境与输出内容,并按原始要求处理异常情况。
  • 从功能定位来看,该技能强调把分散的操作要求整理成清晰、可复用的处理流程,使用户能够围绕既定目标快速准备输入、选择执行方式并获得结构化结果。
  • 实际使用前应先确认任务范围、数据来源、运行环境、必要权限和关键参数,再依据技能说明逐步执行;

使用与执行

若输入条件不完整,应先补齐信息或采用保守配置,避免因错误假设导致结果偏离需求。执行过程中需要关注工具调用是否成功、接口或依赖是否可用、输出格式是否符合预期,并对异常提示、缺失字段和边界情况进行处理;

结果检查与注意事项

涉及批量任务时,还应保存进度,避免中断后重复操作。该技能适合用于一次性任务,也可以接入自动化工作流,与其他技能或上层代理配合完成更完整的业务链路;在组合使用时,应明确每一步的输入输出关系,并避免不同步骤之间出现参数冲突。

DataForSEO 技能

按需付费的 Google 搜索结果页(SERP)+ SEO 数据 API。最适合低成本、高并发的线索生成场景。无需月度订阅 —— 仅为您实际使用的部分付费。

认证凭据

DATAFORSEO_LOGIN=your_email@example.com
DATAFORSEO_PASSWORD=your_password

请在 dataforseo.com 注册账户。最低充值金额:$50。每次 SERP 任务费用约为 $0.0006(批量调用时成本极低)。

快速上手 —— SERP 搜索

import requests, os, json
from base64 import b64encode

def dfs_auth():
    creds = f"{os.environ['DATAFORSEO_LOGIN']}:{os.environ['DATAFORSEO_PASSWORD']}"
    return b64encode(creds.encode()).decode()

def dfs_search(keyword: str, location: str = "United States", language: str = "en") -> list[dict]:
    """
    通过 DataForSEO Live SERP 接口执行 Google 搜索。
    返回自然搜索结果:{url, title, description, rank_absolute, domain}
    """
    headers = {
        "Authorization": f"Basic {dfs_auth()}",
        "Content-Type": "application/json"
    }
    payload = [{
        "keyword": keyword,
        "location_name": location,
        "language_name": language,
        "device": "desktop",
        "os": "windows",
        "depth": 10
    }]
    
    url = "https://api.dataforseo.com/v3/serp/google/organic/live/advanced"
    r = requests.post(url, headers=headers, json=payload)
    r.raise_for_status()
    
    data = r.json()
    tasks = data.get("tasks", [])
    if not tasks or tasks[0]["status_code"] != 20000:
        return []
    
    items = tasks[0]["result"][0].get("items", [])
    organic = [i for i in items if i.get("type") == "organic"]
    
    return [{
        "title": i.get("title"),
        "url": i.get("url"),
        "description": i.get("description"),
        "rank": i.get("rank_absolute"),
        "domain": i.get("domain")
    } for i in organic]

线索生成 —— 批量模式(最高效)

def dfs_batch_search(queries: list[str], location: str = "United States") -> dict[str, list]:
    """
    单次 API 调用提交多个查询(最多支持 100 个)。
    效率显著提升 —— 多个查询仅需一次网络往返。
    返回字典格式:{query: [results]}
    """
    headers = {
        "Authorization": f"Basic {dfs_auth()}",
        "Content-Type": "application/json"
    }
    
    # 构建任务列表
    tasks = [{
        "keyword": q,
        "location_name": location,
        "language_name": "en",
        "device": "desktop",
        "depth": 10,
        "tag": q  # 使用查询词作为 tag,便于结果匹配
    } for q in queries]
    
    # 提交任务
    url = "https://api.dataforseo.com/v3/serp/google/organic/task_post"
    r = requests.post(url, headers=headers, json=tasks)
    task_ids = [t["id"] for t in r.json()["tasks"] if t["status_code"] == 20100]
    
    # 轮询获取结果(任务通常在 ~10–60 秒内完成)
    import time
    time.sleep(15)
    
    results = {}
    for task_id in task_ids:
        result_url = f"https://api.dataforseo.com/v3/serp/google/organic/task_get/advanced/{task_id}"
        res = requests.get(result_url, headers=headers)
        items = res.json()["tasks"][0]["result"][0].get("items", [])
        organic = [i for i in items if i.get("type") == "organic"]
        tag = res.json()["tasks"][0].get("tag", task_id)
        results[tag] = [{"title": i["title"], "url": i["url"], "domain": i.get("domain")} for i in organic]
    
    return results

可用 API 接口端点

类别 端点 使用场景
SERP(实时) /serp/google/organic/live/advanced 单次查询,即时返回结果
SERP(异步) /serp/google/organic/task_post 批量查询,单位成本更低
SERP(本地化) /serp/google/organic/live/advanced + location_code 按城市返回本地化结果
Maps /serp/google/maps/live/advanced 获取本地商家信息:电话、网站、地址等
Keywords /keywords_data/google_ads/search_volume/live 关键词搜索量数据
On-Page /on_page/task_post 全站 SEO 审计
Backlinks /backlinks/summary/live 反向链接档案分析

Maps 搜索(本地线索生成首选)

def dfs_maps_search(query: str, location_code: int = 1023191) -> list[dict]:
    """
    在 Google Maps 中搜索本地商家。
    返回字段:{title, url, phone, address, rating, reviews_count}
    location_code 1023191 = Portland, OR。位置代码可在以下接口查询:
    https://api.dataforseo.com/v3/serp/google/locations
    """
    headers = {"Authorization": f"Basic {dfs_auth()}", "Content-Type": "application/json"}
    payload = [{
        "keyword": query,
        "location_code": location_code,
        "language_code": "en",
        "device": "desktop"
    }]
    url = "https://api.dataforseo.com/v3/serp/google/maps/live/advanced"
    r = requests.post(url, headers=headers, json=payload)
    items = r.json()["tasks"][0]["result"][0].get("items", [])
    return [{
        "title": i.get("title"),
        "url": i.get("url"),
        "phone": i.get("phone"),
        "address": i.get("address"),
        "rating": i.get("rating", {}).get("value"),
        "reviews": i.get("rating", {}).get("votes_count"),
        "category": i.get("category")
    } for i in items if i.get("type") == "maps_search"]

位置代码(常见美国城市)

LOCATION_CODES = {
    "Portland, OR": 1023191,
    "Seattle, WA": 1027744,
    "Dallas, TX": 1026339,
    "Chicago, IL": 1016367,
    "Los Angeles, CA": 1013962,
    "New York, NY": 1023191,
    "Denver, CO": 1016143,
    "Phoenix, AZ": 1023725,
    "Atlanta, GA": 1013971,
    "Miami, FL": 1017862,
}
# 完整列表:GET https://api.dataforseo.com/v3/serp/google/locations

价格参考

任务类型 每千次费用
SERP Live ~$1.50
SERP Async(批量) ~$0.60
Maps Live ~$2.00
Keywords(搜索量) ~$0.50

以每日 50 次查询的线索生成场景为例:每日成本约 $0.03–$0.08。

DataForSEO 与 Serper 的适用场景对比

场景 推荐方案
快速测试 / 低频调用 Serper.dev(提供免费额度)
高频调用(500+ 次/日) DataForSEO(规模化成本更低)
需要 Google Maps 数据(含电话+网站) DataForSEO Maps 接口
需要关键词搜索量数据 DataForSEO Keywords 接口
需要反向链接数据 DataForSEO Backlinks 接口
仅需快速获取自然搜索结果 Serper.dev

相关专题

更多
SEO关键词排名工具有哪些
SEO关键词排名工具有哪些

SEO关键词排名工具有Google关键词规划工具、百度关键词工具、SEMrush、Ahrefs、Moz Keyword Explorer、KWFinder、Ubersuggest、Keyword Surfer、AnswerThePublic和Google Trends。更多关于SEO关键词排名工具的文章,详情请继续阅读该专题下面的文章。php中文网欢迎大家前来学习。

2023.10.30

3615

8

SEO诊断方法有哪些
SEO诊断方法有哪些

SEO诊断是一个综合性的工作,需要从网站结构、关键词优化、内容质量、外部链接、网站速度、移动友好性等多个方面进行评估和优化。通过进行SEO诊断,可以帮助网站提高在搜索引擎中的排名,从而增加流量和曝光度 。

2023.10.09

4169

7

wordpress seo
wordpress seo

WordPress网站SEO优化方法有:1、选择一个SEO友好的主题,具有清晰的代码结构,快速的加载速度和响应式设计;2、使用SEO插件,优化你的标题标签,元描述,关键字,XML站点地图等;3、优化你的内容,内容是SEO优化的核心;4、优化你的网站速度;5、创建友好的URL;6、使用内部链接;7、优化图像;8、使用社交媒体;9、定期更新你的网站;10、监控和分析你的网站等等。

2023.09.18

3315

6

seo页面描述
seo页面描述

一个好的SEO页面描述应该包含关键词、简明扼要地概括网页的主题和内容、具有吸引力、与网页内容相符,并且是独特的。它不仅可以帮助搜索引擎了解网页的内容,还可以吸引用户点击进入网页。因此,编写一个优秀的SEO页面描述对于网页的排名和点击率都非常重要。

2023.08.31

2721

5

Buffalo框架数据库开发全教程
Buffalo框架数据库开发全教程

本专题围绕Buffalo框架数据库开发,讲解database.yml多环境配置、soda与fizz迁移生成回滚、模型结构体标签、增删改查与条件查询、一对多与多对多关联、数据校验、回调钩子、事务处理及原生SQL执行能力。

2026.09.23

0

15

Buffalo框架路由与请求处理实操指南
Buffalo框架路由与请求处理实操指南

本专题讲解Buffalo框架路由与请求处理机制,涵盖路由注册与分组、资源路由、Handler编写规范、Context上下文方法、参数绑定、中间件编写挂载、Session与Cookie读写、Flash消息及错误页面定制方法。

2026.09.23

0

15

Buffalo框架零基础入门教程
Buffalo框架零基础入门教程

本专题整理Buffalo框架入门内容,涵盖Go环境准备、buffalo CLI安装、新项目生成、目录结构说明、dev热加载启动、数据库连接配置与常见报错排查,帮助新手按约定优于配置的思路跑通第一个Buffalo框架应用。

2026.09.23

0

15

Conan创建软件包配方指南
Conan创建软件包配方指南

本专题介绍通过conanfile.py创建软件包的方法,讲解包名、版本、依赖和构建设置等基础信息,以及source、build、package、package_info等常用方法的作用及编写思路。

2026.09.22

0

12

Conan二进制包配置指南
Conan二进制包配置指南

本专题介绍Conan根据操作系统、编译器、架构和构建类型生成二进制包的方法,讲解Profile、Settings、Options及Package ID的作用,帮助管理不同平台和编译环境下的包版本。

2026.09.22

0

13

热门下载

更多
网站特效
/
网站源码
/
网站素材
/
前端模板

精品课程

更多
相关推荐
/
热门推荐
/
最新课程