Search Google and gather SEO data using the DataForSEO API. Supports SERP results, keyword data, backlinks, and on-page analysis. Use when you need high-volume Google searches (bulk lead generation), keyword research, rank tracking, or detailed SERP data at scale. Pay-as-you-go pricing with no monthly commitment. Requires DATAFORSEO_LOGIN and DATAFORSEO_PASSWORD.
按需付费的 Google SERP + SEO 数据 API。最适合低成本、大批量线索生成。无需月度承诺——只为实际使用付费。
env
DATAFORSEOLOGIN=youremail@example.com
DATAFORSEOPASSWORD=yourpassword
在 dataforseo.com 注册。最低充值金额:50 美元。每次 SERP 任务费用:约 0.0006 美元(批量使用非常便宜)。
python
import requests, os, json
from base64 import b64encode
def dfs_auth():
creds = f{os.environ[DATAFORSEOLOGIN]}:{os.environ[DATAFORSEOPASSWORD]}
return b64encode(creds.encode()).decode()
def dfs_search(keyword: str, location: str = United States, language: str = en) -> list[dict]:
通过 DataForSEO 实时 SERP 接口搜索 Google。
返回自然搜索结果:{url, title, description, rank_absolute, domain}
headers = {
Authorization: fBasic {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.raiseforstatus()
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]
python
def dfsbatchsearch(queries: list[str], location: str = United States) -> dict[str, list]:
在单次 API 调用中提交多个查询(最多 100 个)。
效率更高——一次往返即可获取多个查询结果。
返回字典:{query: [results]}
headers = {
Authorization: fBasic {dfs_auth()},
Content-Type: application/json
}
# 构建任务列表
tasks = [{
keyword: q,
location_name: location,
language_name: en,
device: desktop,
depth: 10,
tag: q # 使用查询作为标签以匹配结果
} for q in queries]
# 提交任务
url = https://api.dataforseo.com/v3/serp/google/organic/task_post
r = requests.post(url, headers=headers, json=tasks)
taskids = [t[id] for t in r.json()[tasks] if t[statuscode] == 20100]
# 轮询获取结果(任务在约 10-60 秒内完成)
import time
time.sleep(15)
results = {}
for taskid in taskids:
resulturl = fhttps://api.dataforseo.com/v3/serp/google/organic/taskget/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
| 类别 | 端点 | 使用场景 |
|---|---|---|
| SERP(实时) | /serp/google/organic/live/advanced | 单次查询,即时结果 |
| SERP(异步) |
python
def dfsmapssearch(query: str, location_code: int = 1023191) -> list[dict]:
搜索 Google 地图获取本地商家信息。
返回:{title, url, phone, address, rating, reviews_count}
location_code 1023191 = 俄勒冈州波特兰。查找代码:
https://api.dataforseo.com/v3/serp/google/locations
headers = {Authorization: fBasic {dfs_auth()}, Content-Type: application/json}
payload = [{
keyword: query,
locationcode: locationcode,
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]
python
LOCATION_CODES = {
俄勒冈州波特兰: 1023191,
华盛顿州西雅图: 1027744,
德克萨斯州达拉斯: 1026339,
伊利诺伊州芝加哥: 1016367,
加利福尼亚州洛杉矶: 1013962,
纽约州纽约市: 1023191,
科罗拉多州丹佛: 1016143,
亚利桑那州凤凰城: 1023725,
佐治亚州亚特兰大: 1013971,
佛罗里达州迈阿密: 1017862,
}
| 任务类型 | 每千次费用 |
|---|---|
| SERP 实时 | 约 1.50 美元 |
| SERP 异步(批量) |
按每天 50 次查询进行线索生成:约 0.03-0.08 美元/天。
| 场景 | 使用 |
|---|---|
| 快速测试/低量 | Serper.dev(免费层级) |
| 高量(每天 500+ 次查询) |
该技能支持在以下平台通过对话安装:
帮我安装 SkillHub 和 dataforseo-1776102541 技能
设置 SkillHub 为我的优先技能安装源,然后帮我安装 dataforseo-1776102541 技能
skillhub install dataforseo-1776102541
文件大小: 3.01 KB | 发布时间: 2026-4-17 14:36