---
title: "Start Prospect Audit"
method: POST
path: "/prospect-audits"
tags: ["prospect-audits"]
---

# Start Prospect Audit

`POST /prospect-audits`

## Request

- Base URL: `https://api.xeorank.com` (the document declares no server; this is the origin it was published from)
- URL: `https://api.xeorank.com/prospect-audits`
- Auth: API key in header `X-Agent-Key`

Kick off a prospect audit. Returns immediately — poll GET /{id}.

Status code varies by outcome (no fixed status_code on the route — a
fixed one would force 201 even on the "not enough credits" branch below):
201 when an audit was actually created (new or the in-flight retry),
200 with {"ok": false, "error": "credits_exhausted"} when it wasn't.

Typically completes in 2-5 minutes for a 300-page crawl — a 1,000-page
Pro crawl of a large site can run 30+ minutes (the crawl and the AI-visibility scan
dominate). Everything found is real: a live crawl, real PageSpeed/CrUX,
real DataForSEO data, real model responses in the visibility scan.

## Query parameters

- `email` string, nullable

## Request body

- StartProspectAuditRequest
  - `domain` string, required
  - `client_name` string, nullable
  - `agency_notes` string, nullable
  - `style_reference` string, nullable: An example of a past audit's structure/tone — round-tripped back to you, never interpreted server-side. Use it yourself when you write the narrative.
  - `competitor_domains` string[], nullable
  - `max_pages` integer, nullable

## Response `200`

Successful Response

- object

## Other responses

- `422`: Validation Error

---

[API](https://skmtc.dev/xeorank/apis/seo-intelligence-engine.md) · [All operations](https://skmtc.dev/xeorank/apis/seo-intelligence-engine/llms.txt) · [OpenAPI document](https://skmtc.dev/xeorank/apis/seo-intelligence-engine/revisions/449a3fd73454?raw)
