API Reference
Developer docs
Integrate your GEO Booster content into any website or platform using the public API.
Introduction
The GEO Booster Public API lets you fetch your FAQ items and blog posts from any platform or framework. No authentication is required. Endpoints are identified by your tenant subdomain.
Content is only returned once all configured translations are complete, so you can safely integrate the API without worrying about partially translated responses.
Base URL
https://your-subdomain.geo-booster.ai
Your base URL is shown on the Developer page in your dashboard.
FAQ
Returns all active FAQ items for your account, ordered by their configured display order.
https://your-subdomain.geo-booster.ai/api/public/faqs/No auth requiredQuery parameters
| Parameter | Type | Required | Description |
|---|---|---|---|
| lang | string | optional | ISO 639-1 language code (e.g. nl, de, fr). Falls back to English if the requested language is not available. |
Response
[
{
"id": 1,
"question": "What type of accommodation is this?",
"answer": "We offer boutique hotel rooms with...",
"order": 0,
"lang": "en"
},
{
"id": 2,
"question": "Where are you located?",
"answer": "We are located in the heart of...",
"order": 1,
"lang": "en"
}
]Example
curl https://your-subdomain.geo-booster.ai/api/public/faqs/?lang=nlBlog posts
Returns all published blog posts for your account, ordered by publish date (newest first).
https://your-subdomain.geo-booster.ai/api/public/blogs/No auth requiredQuery parameters
| Parameter | Type | Required | Description |
|---|---|---|---|
| lang | string | optional | ISO 639-1 language code (e.g. nl, de, fr). Falls back to English if the requested language is not available. |
Response
[
{
"id": 1,
"title": "5 reasons to visit us this summer",
"content": "## Introduction\n\nWhether you are looking for...",
"meta_description": "Discover why our boutique hotel is the perfect...",
"slug": "5-reasons-to-visit-us-this-summer",
"redirect_url": null,
"published_at": "2026-04-01T10:00:00Z",
"lang": "en"
}
]The content field is formatted in Markdown. Use a Markdown renderer in your frontend to display it correctly (e.g. react-markdown, marked, or any other Markdown library).
Example
curl https://your-subdomain.geo-booster.ai/api/public/blogs/?lang=deAuthentication
Read endpoints (FAQ list, blog list) are public and require no authentication. Write endpoints (updating a blog post) require an API key with the appropriate scope.
API keys can be created in the dashboard under Developer > API. Each key has one or more scopes that determine which endpoints it can access.
Using an API key
Include the key in the Authorization header:
Authorization: Bearer bp_your_api_key_hereAvailable scopes
| Parameter | Type | Required | Description |
|---|---|---|---|
| blogs:read | scope | optional | Read blog posts via the public API. |
| blogs:write | scope | optional | Update blog posts (e.g. set redirect URL). |
| faqs:read | scope | optional | Read FAQ items via the public API. |
| faqs:write | scope | optional | Update FAQ items (reserved for future use). |
Update blog post
Update a specific blog post. Currently supports setting the redirect_url field, which causes visitors on the companion site to be 301-redirected to the specified URL.
https://your-subdomain.geo-booster.ai/api/public/blogs/<id>/Requires blogs:writeRequest body
| Parameter | Type | Required | Description |
|---|---|---|---|
| redirect_url | string | optional | URL to redirect visitors to. Set to an empty string to remove the redirect. |
Response
{
"id": 1,
"title": "5 reasons to visit us this summer",
"slug": "5-reasons-to-visit-us-this-summer",
"redirect_url": "https://www.example.com/blog/5-reasons"
}Example
curl -X PATCH https://your-subdomain.geo-booster.ai/api/public/blogs/1/ \
-H "Authorization: Bearer bp_your_api_key_here" \
-H "Content-Type: application/json" \
-d '{"redirect_url": "https://www.example.com/blog/my-post"}'Supported languages
The following language codes are supported for the lang parameter. English (en) is the default and always available. All other languages must be enabled by your account admin before translations are generated.
enEnglishdefaultnlDutchdeGermanfrFrenchesSpanishitItalianptPortugueseplPolishsvSwedishdaDanishfiFinnishnbNorwegianNotes
- Read endpoints (FAQ list, blog list) are public and require no authentication. Write endpoints (updating a blog post) require an API key with the appropriate scope.
- API keys can be created in the dashboard under Developer > API. Each key is shown only once at creation - store it securely.
- Content is only returned once all configured translations are complete. If a language was recently added, existing content will reappear once translations finish generating (within 10 minutes).
- If the requested language is not available, the API falls back to English automatically. The lang field in the response always indicates the actual language of the returned content.
- Blog post content is formatted in Markdown. Use a Markdown rendering library to display it in your frontend.
- When a blog post has a redirect_url set, visitors on the companion site are automatically 301-redirected to that URL.
- All responses are JSON. The browseable API interface is disabled.
- Rate limiting is applied to all public endpoints.
- Endpoints are served per tenant via subdomain routing. You can only query your own tenant's content.
Ready to be found by AI?
Schedule a free, no-obligation consultation and discover how GEO Booster can improve your visibility in AI search engines.
Schedule a free consultation→No commitments. No credit card required.