ベースURL
https://seo-lens.site/api/v1認証
すべてのAPIリクエストにはAPIキーが必要です。ダッシュボードにログインして無料のAPIキーを作成してください。AuthorizationヘッダーまたはX-API-Keyヘッダーでリクエストに含めてください。
Authorization: Bearer YOUR_API_KEY
# or
x-api-key: YOUR_API_KEYPOST
/research
1つまたは複数のキーワードをリサーチし、検索ボリューム、難易度、CPCデータ、関連キーワードサジェストを取得します。
リクエストボディ
| パラメータ | 型 | 必須 | 説明 |
|---|---|---|---|
| keyword | string | Yes* | リサーチする単一キーワード |
| keywords | string[] | Yes* | キーワードの配列(最大50件)。次の代わりに使用: keyword |
| countryCode | string | No | 国コード(デフォルト: "US")。選択肢: US, JP, GB, DE, FR, CA, AU, BR, IN, KR, MX, ES, IT, NL, SE, TW, TH, VN, ID, PH |
| languageCode | string | No | 言語コード(デフォルト: "en")。選択肢: en, ja, de, fr, es, pt, it, nl, ko, zh, th, vi, id, sv |
* 次のいずれかを指定: keyword または keywords(両方は不可)。
レスポンス形式(単一キーワード)
200 OK
{
"keyword": "react hooks",
"metrics": {
"avgMonthlySearches": 18100,
"competition": "LOW",
"cpcLow": 0.15,
"cpcHigh": 1.85
},
"difficulty": "easy",
"suggestions": [
{
"keyword": "react custom hooks",
"avgMonthlySearches": 6600,
"competition": "LOW",
"cpcLow": 0.10,
"cpcHigh": 0.95
}
]
}レスポンス形式(バッチ)
200 OK
{
"results": [
{
"keyword": "react hooks",
"metrics": { ... },
"difficulty": "easy",
"suggestions": [ ... ]
},
{
"keyword": "vue composables",
"metrics": { ... },
"difficulty": "medium",
"suggestions": [ ... ]
}
]
}コード例
JavaScript / TypeScript
fetch
const response = await fetch("https://seo-lens.site/api/v1/research", {
method: "POST",
headers: {
"Content-Type": "application/json",
"Authorization": "Bearer YOUR_API_KEY",
},
body: JSON.stringify({
keywords: ["nextjs seo"],
countryCode: "US",
languageCode: "en",
}),
});
const data = await response.json();
console.log(data.results);Python
requests
import requests
response = requests.post(
"https://seo-lens.site/api/v1/research",
headers={"Authorization": "Bearer YOUR_API_KEY"},
json={
"keywords": ["nextjs seo"],
"countryCode": "US",
"languageCode": "en",
},
)
data = response.json()
print(f"Results: {data['results']}")cURL
bash
# Single keyword
curl -X POST https://seo-lens.site/api/v1/research \
-H "Content-Type: application/json" \
-H "Authorization: Bearer YOUR_API_KEY" \
-d '{"keywords": ["nextjs seo"], "countryCode": "US"}'
# Batch keywords
curl -X POST https://seo-lens.site/api/v1/research \
-H "Content-Type: application/json" \
-H "Authorization: Bearer YOUR_API_KEY" \
-d '{"keywords": ["react hooks", "vue composables"], "countryCode": "US"}'エラーコード
| ステータス | 説明 |
|---|---|
| 200 | 成功 - キーワードデータが返されました |
| 401 | Unauthorized - APIキーが不足または無効 |
| 400 | Bad Request - パラメータが不足または無効 |
| 429 | レート制限超過 - リクエストが多すぎます |
| 500 | 内部サーバーエラー - しばらくしてから再試行してください |
レート制限
無料プランでは、すべてのユーザーの公平な利用を確保するためにレート制限が適用されます。
- IPアドレスごとに1日100リクエスト
- バッチリクエストごとに50キーワード
- キャッシュ済みの結果はレート制限にカウントされません