---
title: "Score content for AI / GEO readability"
method: POST
path: "/api/analyze"
tags: ["Analyze"]
---

# Score content for AI / GEO readability

`POST /api/analyze`

Submit `text` (raw text, markdown, or HTML) **or** a `url` to fetch.
Returns a 0–100 GEO score plus structural metrics and improvement fixes.

## Headers

- `X-RapidAPI-Key` string, nullable
- `X-Admin-Key` string, nullable
- `X-GeoScore-Key` string, nullable

## Request body

- AnalyzeRequest
  - `text` string, nullable — Raw text or HTML content to analyze.
  - `url` string, nullable — URL to fetch and analyze.

## Response `200`

Successful Response

- AnalyzeResponse
  - `geo_score` integer, required
  - `word_count` integer, required
  - `reading_time_mins` number, required
  - `reading_grade_level` number, required
  - `flesch_reading_ease` number, required
  - `has_quick_answer` boolean, required
  - `has_faq_section` boolean, required
  - `has_data_tables` boolean, required
  - `has_sources_section` boolean, required
  - `has_numbered_lists` boolean, required
  - `has_bullet_lists` boolean, required
  - `heading_count` integer, required
  - `question_headings_count` integer, required
  - `question_headings_pct` number, required
  - `fixes` string[], required
  - `analyzed_at` string, date-time, required

## Other responses

- `422` — Validation Error

---

[API](https://skmtc.dev/geoscoreapi/apis/geoscore-api.md) · [All operations](https://skmtc.dev/geoscoreapi/apis/geoscore-api/llms.txt) · [OpenAPI document](https://skmtc-service-production.skmtc.workers.dev/v1/apis/geoscoreapi/geoscore-api/revisions/e4d0a712eff2/schema)
