curl --request POST \
--url https://app.base44.com/api/apps/{app_id}/google-ads/suggestions/search-themes \
--header 'Content-Type: application/json' \
--header 'api_key: <api-key>' \
--data '
{
"business_name": "Nordwind Furniture",
"business_description": "Handmade solid oak dining tables, built to order in San Francisco.",
"landing_page_url": "https://nordwind-furniture.com"
}
'import requests
url = "https://app.base44.com/api/apps/{app_id}/google-ads/suggestions/search-themes"
payload = {
"business_name": "Nordwind Furniture",
"business_description": "Handmade solid oak dining tables, built to order in San Francisco.",
"landing_page_url": "https://nordwind-furniture.com"
}
headers = {
"api_key": "<api-key>",
"Content-Type": "application/json"
}
response = requests.post(url, json=payload, headers=headers)
print(response.text)const options = {
method: 'POST',
headers: {api_key: '<api-key>', 'Content-Type': 'application/json'},
body: JSON.stringify({
business_name: 'Nordwind Furniture',
business_description: 'Handmade solid oak dining tables, built to order in San Francisco.',
landing_page_url: 'https://nordwind-furniture.com'
})
};
fetch('https://app.base44.com/api/apps/{app_id}/google-ads/suggestions/search-themes', 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://app.base44.com/api/apps/{app_id}/google-ads/suggestions/search-themes",
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([
'business_name' => 'Nordwind Furniture',
'business_description' => 'Handmade solid oak dining tables, built to order in San Francisco.',
'landing_page_url' => 'https://nordwind-furniture.com'
]),
CURLOPT_HTTPHEADER => [
"Content-Type: application/json",
"api_key: <api-key>"
],
]);
$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://app.base44.com/api/apps/{app_id}/google-ads/suggestions/search-themes"
payload := strings.NewReader("{\n \"business_name\": \"Nordwind Furniture\",\n \"business_description\": \"Handmade solid oak dining tables, built to order in San Francisco.\",\n \"landing_page_url\": \"https://nordwind-furniture.com\"\n}")
req, _ := http.NewRequest("POST", url, payload)
req.Header.Add("api_key", "<api-key>")
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://app.base44.com/api/apps/{app_id}/google-ads/suggestions/search-themes")
.header("api_key", "<api-key>")
.header("Content-Type", "application/json")
.body("{\n \"business_name\": \"Nordwind Furniture\",\n \"business_description\": \"Handmade solid oak dining tables, built to order in San Francisco.\",\n \"landing_page_url\": \"https://nordwind-furniture.com\"\n}")
.asString();require 'uri'
require 'net/http'
url = URI("https://app.base44.com/api/apps/{app_id}/google-ads/suggestions/search-themes")
http = Net::HTTP.new(url.host, url.port)
http.use_ssl = true
request = Net::HTTP::Post.new(url)
request["api_key"] = '<api-key>'
request["Content-Type"] = 'application/json'
request.body = "{\n \"business_name\": \"Nordwind Furniture\",\n \"business_description\": \"Handmade solid oak dining tables, built to order in San Francisco.\",\n \"landing_page_url\": \"https://nordwind-furniture.com\"\n}"
response = http.request(request)
puts response.read_body{
"search_themes": [
"handmade oak furniture",
"custom dining tables",
"san francisco woodworking"
]
}{
"detail": [
{
"loc": [
"<string>"
],
"msg": "<string>",
"type": "<string>"
}
]
}Suggest Google Ads search themes
Suggests search themes for a Performance Max campaign.
Search themes tell Google what the campaign is about when there are no keywords to match on. Nothing is saved: pass the ones you want to Create campaign.
You get at most 10 themes, each trimmed to 80 characters, and themes naming the platform itself are dropped. An empty list is a 200, so check the array rather than the status code.
Accept-Language header. Omit the header and you get English — the app’s own language is not consulted — so send it explicitly for a non-English app.curl --request POST \
--url https://app.base44.com/api/apps/{app_id}/google-ads/suggestions/search-themes \
--header 'Content-Type: application/json' \
--header 'api_key: <api-key>' \
--data '
{
"business_name": "Nordwind Furniture",
"business_description": "Handmade solid oak dining tables, built to order in San Francisco.",
"landing_page_url": "https://nordwind-furniture.com"
}
'import requests
url = "https://app.base44.com/api/apps/{app_id}/google-ads/suggestions/search-themes"
payload = {
"business_name": "Nordwind Furniture",
"business_description": "Handmade solid oak dining tables, built to order in San Francisco.",
"landing_page_url": "https://nordwind-furniture.com"
}
headers = {
"api_key": "<api-key>",
"Content-Type": "application/json"
}
response = requests.post(url, json=payload, headers=headers)
print(response.text)const options = {
method: 'POST',
headers: {api_key: '<api-key>', 'Content-Type': 'application/json'},
body: JSON.stringify({
business_name: 'Nordwind Furniture',
business_description: 'Handmade solid oak dining tables, built to order in San Francisco.',
landing_page_url: 'https://nordwind-furniture.com'
})
};
fetch('https://app.base44.com/api/apps/{app_id}/google-ads/suggestions/search-themes', 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://app.base44.com/api/apps/{app_id}/google-ads/suggestions/search-themes",
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([
'business_name' => 'Nordwind Furniture',
'business_description' => 'Handmade solid oak dining tables, built to order in San Francisco.',
'landing_page_url' => 'https://nordwind-furniture.com'
]),
CURLOPT_HTTPHEADER => [
"Content-Type: application/json",
"api_key: <api-key>"
],
]);
$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://app.base44.com/api/apps/{app_id}/google-ads/suggestions/search-themes"
payload := strings.NewReader("{\n \"business_name\": \"Nordwind Furniture\",\n \"business_description\": \"Handmade solid oak dining tables, built to order in San Francisco.\",\n \"landing_page_url\": \"https://nordwind-furniture.com\"\n}")
req, _ := http.NewRequest("POST", url, payload)
req.Header.Add("api_key", "<api-key>")
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://app.base44.com/api/apps/{app_id}/google-ads/suggestions/search-themes")
.header("api_key", "<api-key>")
.header("Content-Type", "application/json")
.body("{\n \"business_name\": \"Nordwind Furniture\",\n \"business_description\": \"Handmade solid oak dining tables, built to order in San Francisco.\",\n \"landing_page_url\": \"https://nordwind-furniture.com\"\n}")
.asString();require 'uri'
require 'net/http'
url = URI("https://app.base44.com/api/apps/{app_id}/google-ads/suggestions/search-themes")
http = Net::HTTP.new(url.host, url.port)
http.use_ssl = true
request = Net::HTTP::Post.new(url)
request["api_key"] = '<api-key>'
request["Content-Type"] = 'application/json'
request.body = "{\n \"business_name\": \"Nordwind Furniture\",\n \"business_description\": \"Handmade solid oak dining tables, built to order in San Francisco.\",\n \"landing_page_url\": \"https://nordwind-furniture.com\"\n}"
response = http.request(request)
puts response.read_body{
"search_themes": [
"handmade oak furniture",
"custom dining tables",
"san francisco woodworking"
]
}{
"detail": [
{
"loc": [
"<string>"
],
"msg": "<string>",
"type": "<string>"
}
]
}Authorizations
Personal API key.
Headers
Language to return generated text in, as a standard Accept-Language value. An unsupported language falls back to English.
Path Parameters
ID of the app you are planning a Google Ads campaign for.
Body
Name of the business the campaign is for.
"Nordwind Furniture"
What the business sells, in a sentence or two.
"Handmade solid oak dining tables, built to order in San Francisco."
Page the campaign sends people to. Used as context.
"https://nordwind-furniture.com"
Response
Suggested search themes.
Short themes describing what a Performance Max campaign should match.
Up to 10 themes, each at most 80 characters. Pass them as search_themes when you create a Performance Max campaign. An empty list means the model returned nothing usable.
[
"handmade oak furniture",
"custom dining tables",
"san francisco woodworking"
]
Was this page helpful?