curl --request GET \
--url https://app.base44.com/api/apps/{app_id}/seo/settings \
--header 'Authorization: Bearer <token>'import requests
url = "https://app.base44.com/api/apps/{app_id}/seo/settings"
headers = {"Authorization": "Bearer <token>"}
response = requests.get(url, headers=headers)
print(response.text)const options = {method: 'GET', headers: {Authorization: 'Bearer <token>'}};
fetch('https://app.base44.com/api/apps/{app_id}/seo/settings', 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}/seo/settings",
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://app.base44.com/api/apps/{app_id}/seo/settings"
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://app.base44.com/api/apps/{app_id}/seo/settings")
.header("Authorization", "Bearer <token>")
.asString();require 'uri'
require 'net/http'
url = URI("https://app.base44.com/api/apps/{app_id}/seo/settings")
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{
"result": {
"seo_disabled": false,
"platform_meta_injection_enabled": true,
"platform_jsonld_injection_enabled": true,
"robots_txt_enabled": true,
"sitemap_xml_enabled": true,
"llms_txt_enabled": false,
"ai_crawlers_enabled": true,
"synthesized_breadcrumb_enabled": true,
"canonical_url": "https://acme.com",
"content_query_params": [
"article"
],
"custom_json_ld": [
{
"confidence": "0.85",
"entity_name": "Product",
"field_mapping": {
"name": "title"
},
"json_ld_template": {
"@context": "https://schema.org",
"@type": "Product",
"name": "Acme CRM"
},
"schema_type": "Product"
}
],
"website_schema": {
"@context": "https://schema.org",
"@type": "WebSite",
"name": "Acme CRM",
"url": "https://acme.com"
},
"organization_schema": {
"@context": "https://schema.org",
"@type": "Organization",
"name": "Acme",
"url": "https://acme.com"
},
"breadcrumb_schema": {
"@context": "https://schema.org",
"@type": "BreadcrumbList",
"itemListElement": []
},
"faq_schema": {
"@context": "https://schema.org",
"@type": "FAQPage",
"mainEntity": []
},
"pages": {
"Home": {
"description": "Track leads and deals in one place.",
"og_image": "https://cdn.example.com/acme-og.png",
"title": "Acme CRM"
}
}
}
}Get SEO settings
Returns the app’s saved SEO settings.
Only the keys you’ve actually saved appear in result, since it’s the stored settings document itself rather than a computed view of them. An app whose SEO settings have never been changed returns an empty object, so treat a missing key as the default documented on that field rather than as unset.
Change them with Update SEO settings.
curl --request GET \
--url https://app.base44.com/api/apps/{app_id}/seo/settings \
--header 'Authorization: Bearer <token>'import requests
url = "https://app.base44.com/api/apps/{app_id}/seo/settings"
headers = {"Authorization": "Bearer <token>"}
response = requests.get(url, headers=headers)
print(response.text)const options = {method: 'GET', headers: {Authorization: 'Bearer <token>'}};
fetch('https://app.base44.com/api/apps/{app_id}/seo/settings', 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}/seo/settings",
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://app.base44.com/api/apps/{app_id}/seo/settings"
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://app.base44.com/api/apps/{app_id}/seo/settings")
.header("Authorization", "Bearer <token>")
.asString();require 'uri'
require 'net/http'
url = URI("https://app.base44.com/api/apps/{app_id}/seo/settings")
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{
"result": {
"seo_disabled": false,
"platform_meta_injection_enabled": true,
"platform_jsonld_injection_enabled": true,
"robots_txt_enabled": true,
"sitemap_xml_enabled": true,
"llms_txt_enabled": false,
"ai_crawlers_enabled": true,
"synthesized_breadcrumb_enabled": true,
"canonical_url": "https://acme.com",
"content_query_params": [
"article"
],
"custom_json_ld": [
{
"confidence": "0.85",
"entity_name": "Product",
"field_mapping": {
"name": "title"
},
"json_ld_template": {
"@context": "https://schema.org",
"@type": "Product",
"name": "Acme CRM"
},
"schema_type": "Product"
}
],
"website_schema": {
"@context": "https://schema.org",
"@type": "WebSite",
"name": "Acme CRM",
"url": "https://acme.com"
},
"organization_schema": {
"@context": "https://schema.org",
"@type": "Organization",
"name": "Acme",
"url": "https://acme.com"
},
"breadcrumb_schema": {
"@context": "https://schema.org",
"@type": "BreadcrumbList",
"itemListElement": []
},
"faq_schema": {
"@context": "https://schema.org",
"@type": "FAQPage",
"mainEntity": []
},
"pages": {
"Home": {
"description": "Track leads and deals in one place.",
"og_image": "https://cdn.example.com/acme-og.png",
"title": "Acme CRM"
}
}
}
}Authorizations
Personal access token, sent as Authorization: Bearer <token>. Each operation lists the permission it needs: read_only or full_access. A full-access token can call every operation. A read-only token can call only the operations that list read_only; anything else returns 403 read_only_credential_route_not_allowed.
Path Parameters
ID of the app whose SEO settings you want.
Response
The app's saved SEO settings.
An app's SEO settings.
The saved settings. This is an empty object for an app whose SEO settings have never been changed.
Show child attributes
Show child attributes
Was this page helpful?