Skip to main content
POST
/
v1
/
prompts
/
{id}
/
report
Generate GEO report
curl --request POST \
  --url https://api.example.com/v1/prompts/{id}/report \
  --header 'Authorization: Bearer <token>' \
  --header 'Content-Type: application/json' \
  --data '
{
  "contentId": "<string>",
  "html": "<string>",
  "metaDescription": "<string>",
  "title": "<string>"
}
'
{
  "brands": [
    {
      "category": "<string>",
      "count": 123,
      "name": "<string>"
    }
  ],
  "preview": "<string>",
  "recommendations": {
    "geoTopicsSuggestion": {
      "score": 123,
      "data": {},
      "items": [
        {}
      ]
    }
  },
  "score": 123,
  "sources": [
    {
      "category": "<string>",
      "domain": "<string>",
      "organicPosition": 123,
      "position": 123,
      "title": "<string>",
      "type": "<string>",
      "url": "<string>"
    }
  ]
}

Documentation Index

Fetch the complete documentation index at: https://developers.semji.com/llms.txt

Use this file to discover all available pages before exploring further.

Authorizations

Authorization
string
header
required

API key starting with sk_. Generate one in Settings > API Keys.

Path Parameters

id
string
required

Prompt ID.

Body

application/json
contentId
string

Content ID to score (fetches HTML automatically).

html
string

HTML content to score.

metaDescription
string

Meta description (optional). Accepted for forward compatibility but currently NOT factored into recommendations — the score is computed from title and html only.

title
string

Title of the content to score.

Response

200 - application/json

Default Response

brands
object[]
required

Brands mentioned in AI responses.

preview
string | null
required

Markdown preview of the AI response.

recommendations
object
required

GEO recommendations.

score
number
required

Overall GEO score (0.0 - 1.0).

sources
object[]
required

AI Overview sources.