Get keyword details
curl --request GET \
--url https://api.example.com/v1/keywords/{keywordId} \
--header 'Authorization: Bearer <token>'import requests
url = "https://api.example.com/v1/keywords/{keywordId}"
headers = {"Authorization": "Bearer <token>"}
response = requests.get(url, headers=headers)
print(response.text)const options = {method: 'GET', headers: {Authorization: 'Bearer <token>'}};
fetch('https://api.example.com/v1/keywords/{keywordId}', options)
.then(res => res.json())
.then(res => console.log(res))
.catch(err => console.error(err));<?php
$curl = curl_init();
curl_setopt_array($curl, [
CURLOPT_URL => "https://api.example.com/v1/keywords/{keywordId}",
CURLOPT_RETURNTRANSFER => true,
CURLOPT_ENCODING => "",
CURLOPT_MAXREDIRS => 10,
CURLOPT_TIMEOUT => 30,
CURLOPT_HTTP_VERSION => CURL_HTTP_VERSION_1_1,
CURLOPT_CUSTOMREQUEST => "GET",
CURLOPT_HTTPHEADER => [
"Authorization: Bearer <token>"
],
]);
$response = curl_exec($curl);
$err = curl_error($curl);
curl_close($curl);
if ($err) {
echo "cURL Error #:" . $err;
} else {
echo $response;
}package main
import (
"fmt"
"net/http"
"io"
)
func main() {
url := "https://api.example.com/v1/keywords/{keywordId}"
req, _ := http.NewRequest("GET", url, nil)
req.Header.Add("Authorization", "Bearer <token>")
res, _ := http.DefaultClient.Do(req)
defer res.Body.Close()
body, _ := io.ReadAll(res.Body)
fmt.Println(string(body))
}HttpResponse<String> response = Unirest.get("https://api.example.com/v1/keywords/{keywordId}")
.header("Authorization", "Bearer <token>")
.asString();require 'uri'
require 'net/http'
url = URI("https://api.example.com/v1/keywords/{keywordId}")
http = Net::HTTP.new(url.host, url.port)
http.use_ssl = true
request = Net::HTTP::Get.new(url)
request["Authorization"] = 'Bearer <token>'
response = http.request(request)
puts response.read_body{
"analysisStatus": "queued",
"analyzed": true,
"clicks": 123,
"createdAt": "<string>",
"ctr": 123,
"focusPrompt": {
"id": "<string>",
"prompt": "<string>"
},
"id": "<string>",
"impressions": 123,
"isCannibalized": true,
"keyword": "<string>",
"keywordDifficulty": 123,
"position": 123,
"searchVolume": 123,
"source": "<string>",
"page": {
"id": "<string>",
"lastStatusCode": 123,
"url": "<string>"
}
}Keywords
Get keyword details
Returns full details of a keyword, including analysis status and focus prompt.
GET
/
v1
/
keywords
/
{keywordId}
Get keyword details
curl --request GET \
--url https://api.example.com/v1/keywords/{keywordId} \
--header 'Authorization: Bearer <token>'import requests
url = "https://api.example.com/v1/keywords/{keywordId}"
headers = {"Authorization": "Bearer <token>"}
response = requests.get(url, headers=headers)
print(response.text)const options = {method: 'GET', headers: {Authorization: 'Bearer <token>'}};
fetch('https://api.example.com/v1/keywords/{keywordId}', options)
.then(res => res.json())
.then(res => console.log(res))
.catch(err => console.error(err));<?php
$curl = curl_init();
curl_setopt_array($curl, [
CURLOPT_URL => "https://api.example.com/v1/keywords/{keywordId}",
CURLOPT_RETURNTRANSFER => true,
CURLOPT_ENCODING => "",
CURLOPT_MAXREDIRS => 10,
CURLOPT_TIMEOUT => 30,
CURLOPT_HTTP_VERSION => CURL_HTTP_VERSION_1_1,
CURLOPT_CUSTOMREQUEST => "GET",
CURLOPT_HTTPHEADER => [
"Authorization: Bearer <token>"
],
]);
$response = curl_exec($curl);
$err = curl_error($curl);
curl_close($curl);
if ($err) {
echo "cURL Error #:" . $err;
} else {
echo $response;
}package main
import (
"fmt"
"net/http"
"io"
)
func main() {
url := "https://api.example.com/v1/keywords/{keywordId}"
req, _ := http.NewRequest("GET", url, nil)
req.Header.Add("Authorization", "Bearer <token>")
res, _ := http.DefaultClient.Do(req)
defer res.Body.Close()
body, _ := io.ReadAll(res.Body)
fmt.Println(string(body))
}HttpResponse<String> response = Unirest.get("https://api.example.com/v1/keywords/{keywordId}")
.header("Authorization", "Bearer <token>")
.asString();require 'uri'
require 'net/http'
url = URI("https://api.example.com/v1/keywords/{keywordId}")
http = Net::HTTP.new(url.host, url.port)
http.use_ssl = true
request = Net::HTTP::Get.new(url)
request["Authorization"] = 'Bearer <token>'
response = http.request(request)
puts response.read_body{
"analysisStatus": "queued",
"analyzed": true,
"clicks": 123,
"createdAt": "<string>",
"ctr": 123,
"focusPrompt": {
"id": "<string>",
"prompt": "<string>"
},
"id": "<string>",
"impressions": 123,
"isCannibalized": true,
"keyword": "<string>",
"keywordDifficulty": 123,
"position": 123,
"searchVolume": 123,
"source": "<string>",
"page": {
"id": "<string>",
"lastStatusCode": 123,
"url": "<string>"
}
}Authorizations
API key starting with sk_. Generate one in Settings > API Keys.
Path Parameters
Keyword ID.
Response
200 - application/json
Default Response
Status of the SEO analysis.
Available options:
queued, pending, success, failed Whether the keyword has been analyzed.
Search clicks.
ISO 8601 creation date.
Click-through rate.
Focus GEO prompt linked to this keyword.
Show child attributes
Show child attributes
Unique identifier of the keyword.
Search impressions.
Whether the keyword is cannibalized.
The keyword text.
SEO difficulty score (0-100).
Current SERP position.
Monthly search volume.
Source of the keyword.
Page this keyword is tracked on.
Show child attributes
Show child attributes
Was this page helpful?