---
title: "Get Keyword Plan Status"
method: GET
path: "/api/v1/websites/{website_id}/keyword-plan-status"
---

# Get Keyword Plan Status

`GET /api/v1/websites/{website_id}/keyword-plan-status`

## Request

- Base URL: `https://api.seoproai.co`
- URL: `https://api.seoproai.co/api/v1/websites/{website_id}/keyword-plan-status`
- Auth: one of:
  - HTTP bearer
  - OAuth 2 (authorization code, authorization URL `https://dajosjnaalanhqksxrpe.supabase.co/auth/v1/authorize`, token URL `https://dajosjnaalanhqksxrpe.supabase.co/auth/v1/token`)

Lightweight status endpoint polled by the content planner.

Returns is_generating=true until any keywords exist for the website. If the
saved website analysis is a known failed placeholder, returns a stable
analysis_failed response so the frontend can stop polling and show guidance.

## Path parameters

- `website_id` integer, required

## Headers

- `X-User-Id` string, nullable
- `X-Organization-Id` string, nullable
- `Authorization` string, nullable

## Response `200`

Successful Response

- object

## Other responses

- `422`: Validation Error

---

[API](https://skmtc.dev/seoproai/apis/seopro-ai.md) · [All operations](https://skmtc.dev/seoproai/apis/seopro-ai/llms.txt) · [OpenAPI document](https://skmtc.dev/seoproai/apis/seopro-ai/revisions/5b4b6391ddc9?raw)
