Skip to content

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.

GEThttps://your-subdomain.geo-booster.ai/api/public/faqs/No auth required

Query parameters

ParameterTypeRequiredDescription
langstringoptionalISO 639-1 language code (e.g. nl, de, fr). Falls back to English if the requested language is not available.

Response

JSON
[
  {
    "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
curl https://your-subdomain.geo-booster.ai/api/public/faqs/?lang=nl

Blog posts

Returns all published blog posts for your account, ordered by publish date (newest first).

GEThttps://your-subdomain.geo-booster.ai/api/public/blogs/No auth required

Query parameters

ParameterTypeRequiredDescription
langstringoptionalISO 639-1 language code (e.g. nl, de, fr). Falls back to English if the requested language is not available.

Response

JSON
[
  {
    "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
curl https://your-subdomain.geo-booster.ai/api/public/blogs/?lang=de

Authentication

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:

HTTP
Authorization: Bearer bp_your_api_key_here

Available scopes

ParameterTypeRequiredDescription
blogs:readscopeoptionalRead blog posts via the public API.
blogs:writescopeoptionalUpdate blog posts (e.g. set redirect URL).
faqs:readscopeoptionalRead FAQ items via the public API.
faqs:writescopeoptionalUpdate 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.

PATCHhttps://your-subdomain.geo-booster.ai/api/public/blogs/<id>/Requires blogs:write

Request body

ParameterTypeRequiredDescription
redirect_urlstringoptionalURL to redirect visitors to. Set to an empty string to remove the redirect.

Response

JSON
{
  "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
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.

enEnglishdefault
nlDutch
deGerman
frFrench
esSpanish
itItalian
ptPortuguese
plPolish
svSwedish
daDanish
fiFinnish
nbNorwegian

Notes

  • 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.