curl --request POST \
--url https://api.example.com/v1/workspaces/{workspaceId}/content-idea-searches \
--header 'Authorization: Bearer <token>' \
--header 'Content-Type: application/json' \
--data '
{
"keyword": "<string>"
}
'import requests
url = "https://api.example.com/v1/workspaces/{workspaceId}/content-idea-searches"
payload = { "keyword": "<string>" }
headers = {
"Authorization": "Bearer <token>",
"Content-Type": "application/json"
}
response = requests.post(url, json=payload, headers=headers)
print(response.text)const options = {
method: 'POST',
headers: {Authorization: 'Bearer <token>', 'Content-Type': 'application/json'},
body: JSON.stringify({keyword: '<string>'})
};
fetch('https://api.example.com/v1/workspaces/{workspaceId}/content-idea-searches', 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/workspaces/{workspaceId}/content-idea-searches",
CURLOPT_RETURNTRANSFER => true,
CURLOPT_ENCODING => "",
CURLOPT_MAXREDIRS => 10,
CURLOPT_TIMEOUT => 30,
CURLOPT_HTTP_VERSION => CURL_HTTP_VERSION_1_1,
CURLOPT_CUSTOMREQUEST => "POST",
CURLOPT_POSTFIELDS => json_encode([
'keyword' => '<string>'
]),
CURLOPT_HTTPHEADER => [
"Authorization: Bearer <token>",
"Content-Type: application/json"
],
]);
$response = curl_exec($curl);
$err = curl_error($curl);
curl_close($curl);
if ($err) {
echo "cURL Error #:" . $err;
} else {
echo $response;
}package main
import (
"fmt"
"strings"
"net/http"
"io"
)
func main() {
url := "https://api.example.com/v1/workspaces/{workspaceId}/content-idea-searches"
payload := strings.NewReader("{\n \"keyword\": \"<string>\"\n}")
req, _ := http.NewRequest("POST", url, payload)
req.Header.Add("Authorization", "Bearer <token>")
req.Header.Add("Content-Type", "application/json")
res, _ := http.DefaultClient.Do(req)
defer res.Body.Close()
body, _ := io.ReadAll(res.Body)
fmt.Println(string(body))
}HttpResponse<String> response = Unirest.post("https://api.example.com/v1/workspaces/{workspaceId}/content-idea-searches")
.header("Authorization", "Bearer <token>")
.header("Content-Type", "application/json")
.body("{\n \"keyword\": \"<string>\"\n}")
.asString();require 'uri'
require 'net/http'
url = URI("https://api.example.com/v1/workspaces/{workspaceId}/content-idea-searches")
http = Net::HTTP.new(url.host, url.port)
http.use_ssl = true
request = Net::HTTP::Post.new(url)
request["Authorization"] = 'Bearer <token>'
request["Content-Type"] = 'application/json'
request.body = "{\n \"keyword\": \"<string>\"\n}"
response = http.request(request)
puts response.read_body{
"createdAt": "<string>",
"id": "<string>",
"keyword": "<string>",
"nbContentIdeas": 123,
"searchVolume": 123,
"status": "pending"
}Start a content idea search
Launches an asynchronous Content Ideas search for a keyword in the workspace. Consumes one content-ideas-searches credit. Returns immediately with the search id and status ‘pending’ — poll GET /v1/content-idea-searches/:contentIdeaSearchId until status is ‘success’, then read the results with GET /v1/content-idea-searches/:contentIdeaSearchId/content-ideas.
curl --request POST \
--url https://api.example.com/v1/workspaces/{workspaceId}/content-idea-searches \
--header 'Authorization: Bearer <token>' \
--header 'Content-Type: application/json' \
--data '
{
"keyword": "<string>"
}
'import requests
url = "https://api.example.com/v1/workspaces/{workspaceId}/content-idea-searches"
payload = { "keyword": "<string>" }
headers = {
"Authorization": "Bearer <token>",
"Content-Type": "application/json"
}
response = requests.post(url, json=payload, headers=headers)
print(response.text)const options = {
method: 'POST',
headers: {Authorization: 'Bearer <token>', 'Content-Type': 'application/json'},
body: JSON.stringify({keyword: '<string>'})
};
fetch('https://api.example.com/v1/workspaces/{workspaceId}/content-idea-searches', 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/workspaces/{workspaceId}/content-idea-searches",
CURLOPT_RETURNTRANSFER => true,
CURLOPT_ENCODING => "",
CURLOPT_MAXREDIRS => 10,
CURLOPT_TIMEOUT => 30,
CURLOPT_HTTP_VERSION => CURL_HTTP_VERSION_1_1,
CURLOPT_CUSTOMREQUEST => "POST",
CURLOPT_POSTFIELDS => json_encode([
'keyword' => '<string>'
]),
CURLOPT_HTTPHEADER => [
"Authorization: Bearer <token>",
"Content-Type: application/json"
],
]);
$response = curl_exec($curl);
$err = curl_error($curl);
curl_close($curl);
if ($err) {
echo "cURL Error #:" . $err;
} else {
echo $response;
}package main
import (
"fmt"
"strings"
"net/http"
"io"
)
func main() {
url := "https://api.example.com/v1/workspaces/{workspaceId}/content-idea-searches"
payload := strings.NewReader("{\n \"keyword\": \"<string>\"\n}")
req, _ := http.NewRequest("POST", url, payload)
req.Header.Add("Authorization", "Bearer <token>")
req.Header.Add("Content-Type", "application/json")
res, _ := http.DefaultClient.Do(req)
defer res.Body.Close()
body, _ := io.ReadAll(res.Body)
fmt.Println(string(body))
}HttpResponse<String> response = Unirest.post("https://api.example.com/v1/workspaces/{workspaceId}/content-idea-searches")
.header("Authorization", "Bearer <token>")
.header("Content-Type", "application/json")
.body("{\n \"keyword\": \"<string>\"\n}")
.asString();require 'uri'
require 'net/http'
url = URI("https://api.example.com/v1/workspaces/{workspaceId}/content-idea-searches")
http = Net::HTTP.new(url.host, url.port)
http.use_ssl = true
request = Net::HTTP::Post.new(url)
request["Authorization"] = 'Bearer <token>'
request["Content-Type"] = 'application/json'
request.body = "{\n \"keyword\": \"<string>\"\n}"
response = http.request(request)
puts response.read_body{
"createdAt": "<string>",
"id": "<string>",
"keyword": "<string>",
"nbContentIdeas": 123,
"searchVolume": 123,
"status": "pending"
}Authorizations
API key starting with sk_. Generate one in Settings > API Keys.
Path Parameters
Workspace ID.
Body
Seed keyword/topic to find content ideas for.
1Response
Default Response
ISO 8601 creation date.
Unique identifier of the content idea search.
Seed keyword the search was run on.
Number of content ideas found by the search.
Monthly search volume of the seed keyword.
Processing status of the asynchronous search (pending → success / failed).
pending, success, failed Was this page helpful?