DataForSEO とは、検索の順位や検索量などの SEO のデータを、撃った分だけ払う形の API で取り出せる仕組みです。

  • DataForSEO API の主な口(順位・検索量・難しさ・残高)と、1 回あたりの値段
  • 認証から順位を 1 語撃つまでの手順と、撃つ時に決めておく値
  • 当社の SEO の席が毎日撃って詰まった所: パスワードだけの 40100、全体は 20000 なのに 2 件目が 40000 で落ちる束ね方、Labs で値が返らない語

DataForSEO の会社と、主な口

DataForSEO は自らを「an SEO and marketing data provider」(SEO とマーケティングのデータの提供者)と書いていて、拠点はウクライナ、事務所はエストニアのタリンとウクライナのハルキウに置いています。最初の API を出したのは 2016 年です(About us・2026-10-29 に確かめた)。

口はどれも https://api.dataforseo.com/v3/ の下に並びます。当社が使っている 4 つを並べます。

口住所1 回に入る数要点
順位(SERP・live)POST /v3/serp/google/organic/live/advanced1 回の呼び出しに task 1 件depth は既定 10・最大 200。1 分に 10,000 回まで。items の種類に ai_overview がある
検索量(Google Ads・live)POST /v3/keywords_data/google_ads/search_volume/livetask 1 件・その中に語を最大 1,0001 語は 80 字・10 語まで。Google Ads の live の口は口座あたり 1 分に 12 回まで。返りは search_volume・cpc・competition・monthly_searches など
難しさ(Labs)POST /v3/dataforseo_labs/google/bulk_keyword_difficulty/live1 回に語を最大 1,000keyword_difficulty は 0〜100 の対数の目盛りで、上位 10 に入る難しさ
口座の情報GET /v3/appendix/user_data—無料。残高(money.balance)・口ごとの値段(price)・回数の上限(rates)が返る

出典: SERP Google Organic Live Advanced・Google Ads Search Volume Live・Labs Bulk Keyword Difficulty Live・User Data(どれも 2026-10-29 に確かめた)。

DataForSEO API の値段は、口ごとに数え方が違う

月の定額は無く、入れたお金を残高から使う形です。最初の入金は 50 ドルから、新しい口座には 1 ドルのお試しの残高が付きます(Pricing・2026-10-29 に確かめた)。数え方は、順位は「SERP 1 枚(上位 10 件まで)ごと」、検索量は「task 1 件ごと(中の語が 1 語でも 1,000 語でも同じ)」です。

口と撃ち方公式の値段当社の返りの cost
順位・Standard queue(後で取りに行く)1 SERP $0.0006—
順位・Priority queue1 SERP $0.0012—
順位・Live(すぐ返る)1 SERP $0.002日本・日本語・PC・上位 10 で 1 語 $0.002
検索量(Google Ads)・Standard1 task $0.06—
検索量(Google Ads)・Live1 task $0.0941 語を 1 回で撃って $0.09

出典: Google Organic SERP API の料金・Google Ads の料金(どちらも 2026-10-29 に確かめた)・社の実測 2026-10-29(返りの cost)。

順位の depth は 10 ごとに切り上げて数えるので、depth 15 は 20 件・SERP 2 枚分になります(同じ頁・2026-10-29 に確かめた)。当社は depth 10 で撃ち、1 語 $0.002 が返りの cost と合っていました(社の実測 2026-10-29)。検索量は語を 1,000 まで 1 回に詰めても値段が変わらないので、語は束ねて撃ちます。順位は逆で、束ねられません(下の 1 件しか受けない口)。

DataForSEO API の使い方(認証から 1 語を撃つまで)

  1. 鍵を見る: 口座の画面の API Access の札に、API のログインとパスワードがあります。API のパスワードは DataForSEO が自動で作る物で、口座に入るパスワードとは別です(Authentication・2026-10-29 に確かめた)
  2. 認証の欄を作る: 認証は Basic だけで、「ログイン:パスワード」を base64 にした物を Authorization: Basic … に入れます(同じ頁)
  3. 撃つ前に残高と値段を見る: 無料の GET /v3/appendix/user_data で残高と口ごとの値段を見ます(社の運用 2026-10-19)
  4. 値を決める: 当社は location_code 2392(日本)・language_code ja・device desktop・depth 10 で撃ちます(社の運用)
  5. 1 語を 1 回の POST で撃つ: 順位の live の口は 1 回に task 1 件です
  6. 返りを task ごとに読む: 全体の status_code だけでなく、tasks_error の数と、task ごとの status_code と cost を見ます

当社の席が撃つ時の形は次の通りです。鍵は金庫から実行の時だけ環境に渡し、値を出力にもログにも出しません(社の運用)。

# 鍵は環境の変数で受け取る(値は画面にもログにも出さない)
AUTH=$(printf '%s:%s' "$DFS_LOGIN" "$DFS_PASSWORD" | base64)

curl -s -X POST "https://api.dataforseo.com/v3/serp/google/organic/live/advanced" \
  -H "Authorization: Basic $AUTH" -H "Content-Type: application/json" \
  -d '[{"keyword":"dataforseo","location_code":2392,"language_code":"ja","device":"desktop","depth":10}]'

本文の配列に入れる task は 1 件だけです。語が 100 あれば、POST を 100 回撃ちます。

社の記録: パスワードだけを入れると 40100 で落ちる

認証の欄に、ログインを付けずパスワードだけを base64 にして入れると、HTTP 401・status_code 40100 で落ちました(社の実測 2026-10-29)。正しいのは「ログイン:パスワード」の組を base64 にした物です(社の実測 2026-10-29)。公式の番号の表でも 40100 は「画面の資格と合っているか確かめる」という意味です(Errors・2026-10-29 に確かめた)。鍵の値を疑う前に、組の形を見ます。

社の記録: 順位の live の口は 1 件しか受けない(全体の 20000 は成功の印ではない)

当社の SEO の席は、百数十語の順位を 100 件ずつ束ねて live/advanced に送った日がありました。返りの全体は status_code 20000「Ok.」でしたが、各束の 1 件目以外が全部 40000「You can set only one task at a time.」で、取れたのは 2 語だけでした(社の実測 2026-10-29)。

2 件だけ入れて確かめると、形がはっきりしました(社の実測 2026-10-29)。

どこstatus_codestatus_messagecost
返りの全体20000Ok.—
tasks[0](1 件目)20000Ok.—
tasks[1](2 件目)40000You can set only one task at a time.0

出典: 社の実測 2026-10-29(live/advanced に task 2 件を 1 回で送った時の返り)。

全体の 20000 だけを見ると成功に見えます。公式の頁にも「each Live SERP API call can contain only one task」とあり、40000 は「POST の配列に task を 2 件以上入れられない」という意味です(SERP Live Advanced・Errors・2026-10-29 に確かめた)。当社は 1 語 1 回の POST に直して撃ち直しました(社の実測 2026-10-29)。見るのは全体の番号ではなく、返りの tasks_error の数か、task ごとの status_code です。

外の API を席から撃って、返りの中の番号を読み捨てて別の失敗に見えた話は、MiniMax API の記録にもあります。HTTP の番号や全体の番号ではなく、中の番号を読む、が両方に効きます。

使った額は、残高の差ではなく返りの cost の合計で数える

当社は同じ口座を複数の AI の席が使うので、使った額を前後の残高の差では数えません。差には他の席の分が混ざるからです。自分の呼び出しの返りの cost を足した物を、自分の使った額にしています(社の運用 2026-10-19)。撃つ前には無料の appendix/user_data で残高と値段を見ます(社の運用 2026-10-19)。

AI による概要が出ているかも、同じ返りで数える

当社の SEO の席は、出した記事の言葉の順位と、AI による概要(返りの items の type が ai_overview の物)を毎日撃っています。10/27 の 1 日は、測った 137 語のうち 134 語で AI による概要が出ていて、そのうち自社のサイトが引かれていたのは 1 語でした(社の実測 2026-10-28)。

順位が付いていても、上に AI による概要が出ていれば読まれ方は変わります。順位と同じ 1 回の返りから取れるので、別に撃つ必要はありません。なお公式の頁には、後から読み込まれる AI による概要も取るための load_async_ai_overview という値があり、使うと 1 回 $0.002 が足されると書かれています(SERP Live Advanced・2026-10-29 に確かめた)。

Labs の難しさは、返らない語を「取得不能」と書く

難しさ(KD)を DataForSEO Labs で引くと、値が返らない語が多くありました。当社の言葉の台帳には「Labs に値なし」の行が多数あります(社の記録 2026-10)。当社は返らない値を 0 で埋めず、「取得不能」と書いています(社の記録 2026-10)。0 と書くと「やさしい語」に見えて、選ぶ順を狂わせるからです。

返りの番号の読み方

番号公式の意味当社で見た形
20000要求は成り立った全体が 20000 でも、中の task が落ちている事がある(2026-10-29)
40000POST の配列に task を 2 件以上入れられないlive/advanced の 2 件目以降が 40000・cost 0(2026-10-29)
40100指定した資格が画面の物と合っているか確かめるパスワードだけを base64 にして HTTP 401(2026-10-29)
40200残高を足すまで要求は通らない—
402021 分に 10,000 回まで—

出典: Errors(2026-10-29 に確かめた)・社の実測 2026-10-29。公式の頁では、tasks_error は「返りの tasks のうち誤りで返った数」、task ごとの status_code は 10000〜60000 の幅と書かれています(同じ頁)。

当社はこれらの口を、AIエージェントの席から API で直に撃っています。席に外の道具を持たせる時、MCP で渡すか API を直に撃つかの違いは MCP と API の違いの頁にまとめています。

よくある質問

DataForSEO API の認証はどうしますか?

Basic 認証だけです。口座の画面の API Access にある API のログインとパスワードを「ログイン:パスワード」の形で base64 にし、Authorization: Basic … に入れます(Authentication・2026-10-29 に確かめた)。パスワードだけを入れると HTTP 401・40100 で落ちます(社の実測 2026-10-29)。

DataForSEO の料金はいくらですか?

撃った分だけ残高から引く形で、最初の入金は 50 ドルからです。Google の順位は live で 1 SERP(上位 10 件まで)$0.002、Standard queue で $0.0006、Google Ads の検索量は live で 1 task $0.09 です(Pricing・2026-10-29 に確かめた)。当社の返りの cost も、順位 1 語 $0.002・検索量 41 語を 1 回で $0.09 でした(社の実測 2026-10-29)。

1 回の呼び出しで何語の順位を取れますか?

live の順位の口は 1 回に task 1 件、つまり 1 語です(SERP Live Advanced・2026-10-29 に確かめた)。2 件入れると全体は 20000 のまま 2 件目だけが 40000・cost 0 で返るので、全体の番号だけでは気づけません(社の実測 2026-10-29)。検索量の口は 1 task に最大 1,000 語まで入ります。

DataForSEO で AI による概要は取れますか?

取れます。順位の返りの items に type が ai_overview の物が入ります(SERP Live Advanced・2026-10-29 に確かめた)。当社は 10/27 に測った 137 語のうち 134 語で AI による概要が出ていて、自社のサイトが引かれていたのは 1 語でした(社の実測 2026-10-28)。

出典

  1. DataForSEO「About us」 https://dataforseo.com/about-us(2026-10-29 に確かめた・会社の説明・拠点・2016 年の最初の API)
  2. DataForSEO「Pricing」 https://dataforseo.com/pricing(2026-10-29 に確かめた・撃った分だけの支払い・最初の入金 50 ドル・お試しの 1 ドル)
  3. DataForSEO「Google Organic SERP API の料金」 https://dataforseo.com/pricing/serp/google-organic-serp-api(2026-10-29 に確かめた・Standard/Priority/Live の 1 SERP の値段・depth の切り上げ)
  4. DataForSEO「Google Ads の料金」 https://dataforseo.com/pricing/keywords-data/google-ads(2026-10-29 に確かめた・Standard $0.06/Live $0.09 の 1 task・1 task に 1,000 語)
  5. DataForSEO API Docs「Authentication」 https://docs.dataforseo.com/v3/auth/(2026-10-29 に確かめた・Basic 認証・ログイン:パスワードの base64・API Access)
  6. DataForSEO API Docs「SERP Google Organic Live Advanced」 https://docs.dataforseo.com/v3/serp/google/organic/live/advanced/(2026-10-29 に確かめた・1 回に task 1 件・1 分 10,000 回・depth・ai_overview・load_async_ai_overview)
  7. DataForSEO API Docs「Google Ads Search Volume Live」 https://docs.dataforseo.com/v3/keywords_data/google_ads/search_volume/live/(2026-10-29 に確かめた・1,000 語・1 語 80 字・1 分 12 回・返りの項目)
  8. DataForSEO API Docs「Labs Bulk Keyword Difficulty Live」 https://docs.dataforseo.com/v3/dataforseo_labs/google/bulk_keyword_difficulty/live/(2026-10-29 に確かめた・keyword_difficulty の意味と目盛り・1,000 語)
  9. DataForSEO API Docs「User Data」 https://docs.dataforseo.com/v3/appendix/user_data/(2026-10-29 に確かめた・無料・残高と値段と回数の上限)
  10. DataForSEO API Docs「Errors」 https://docs.dataforseo.com/v3/appendix/errors/(2026-10-29 に確かめた・20000/40000/40100/40200/40202 の意味・tasks_error)
  11. 社の実測 2026-10-29(パスワードだけの 40100・live/advanced に 2 件を送った返り・100 件ずつ束ねた日と撃ち直し・返りの cost)
  12. 社の実測 2026-10-28(10/27 の 1 日の順位と AI による概要の測り)
  13. 社の運用 2026-10-19(cost の合計で数える・撃つ前の user_data)・社の運用(撃つ時の値・鍵の渡し方)
  14. 社の記録 2026-10(Labs に値なしの語・「取得不能」と書く)