canonical: https://jentic.com/apis/preuve.ai/preuve

# Preuve Agent API

The Preuve Agent API validates startup ideas programmatically, returning a 0-100 viability score, competitors, market sizing, and source-linked evidence drawn from more than 60 live sources. Analyses run asynchronously: you start one with a clientRunId idempotency key and a scanType of starter (no cost) or deep (paid quota), poll it, enrich the completed run with deep-only modules such as proofOfDemand, founderFit, or playbook, and export a structured JSON report. Batches of up to 5 ideas, a synchronous idea generator, and Agency workspace client reports round out the surface.

## For AI agents

Score a startup idea from 0-100 with competitors, market size, and cited evidence, then export the report as structured JSON. Starter scans cost nothing, so an agent can run the full create, poll, enrich, export loop as a sandbox.

## Scope

Does not build products, register companies, or raise funding. Use for scoring and researching startup ideas only.

## Capabilities

- Start an asynchronous startup idea analysis with a clientRunId idempotency key and a starter or deep scanType
- Poll an analysis for status, readyForExport, enrichment progress, and per-module statuses
- Enrich a completed run with deep-only modules such as proofOfDemand, founderFit, playbook, trends, and community
- Export a completed analysis as structured JSON at full or summary verbosity, including score, verdict, competitors, and market size
- Validate up to 5 ideas in one batch and export only the completed, export-ready items
- Generate startup ideas synchronously from interests, budget, audience, and industry inputs
- Create and export deep client reports against a shared Agency workspace quota

## Use cases

### Agent-run idea validation loop

An AI agent helping a founder decide what to build can run a full Preuve validation without custom client code. Through Jentic the agent searches for 'validate a startup idea', calls createAnalysis with a starter scanType and a clientRunId, polls getAnalysis until readyForExport is true, and pulls the exportAnalysis JSON for the score, verdict, competitors, and market size. Because starter scans cost nothing, the agent can exercise the whole loop before switching to deep runs.

Example prompt: POST `/api/agent/analyses` with clientRunId 'coffee-supply-001', scanType 'starter', and the idea text, poll GET `/api/agent/analyses/{id}` until readyForExport is true, then GET `/api/agent/analyses/{id}/export` with verbosity 'summary'

### Shortlisting several ideas at once

A founder weighing a handful of directions wants them scored side by side. The analysis-batches route accepts up to 5 items, each with its own clientRunId, and can mix starter and deep scans in one batch. The batch export includes only completed, export-ready items and lists every skipped one in omittedItems with a reason, so the comparison never silently drops an idea.

Example prompt: POST `/api/agent/analysis-batches` with a batch clientRunId, scanType 'starter', and three items each carrying a unique clientRunId and idea, then GET `/api/agent/analysis-batches/{batchId}/export` and rank the items by score

### Deepening a promising idea

Once a starter or deep run looks promising, the enrich operation generates missing core export sections and can start deep-only modules such as proofOfDemand, founderFit, playbook, trends, and community. founderFit underwrites the idea against a founder profile covering hours per week, runway months, and team status, so the export reflects whether this founder can realistically ship it.

Example prompt: POST `/api/agent/analyses/{id}/enrich` with modules ['founderFit', 'playbook'] and a founderProfile of hoursPerWeek 20 and runwayMonths 6, then re-export the analysis

### Consultancy client reports

A consultant running an Agency workspace can create deep client reports through the API against the shared project quota, list every report in the workspace newest first with limit and offset paging, and export the structured JSON of each completed report for a client deliverable.

Example prompt: POST `/api/agent/agency/analyses` with a clientRunId and a client's idea description, poll GET `/api/agent/agency/reports/{id}` until it completes, then GET `/api/agent/agency/reports/{id}/export`

## Key endpoints

| Method | Path | Description |
| --- | --- | --- |
| POST | `/api/agent/analyses` | Start an idea analysis |
| GET | `/api/agent/analyses/{id}` | Poll an analysis |
| POST | `/api/agent/analyses/{id}/enrich` | Enrich a completed analysis |
| GET | `/api/agent/analyses/{id}/export` | Export an analysis as JSON |
| POST | `/api/agent/analysis-batches` | Start a batch of up to 5 analyses |
| POST | `/api/agent/tools/idea-generator` | Generate startup ideas |
| GET | `/api/agent` | Unauthenticated discovery document |

## Key resources

- **Analyses** — Asynchronous startup idea validation runs with status, enrichment, and structured JSON export
- **Analysis batches** — Groups of up to 5 analysis runs created and exported together
- **Idea generator** — Synchronous startup idea generation from interests, budget, audience, and industry
- **Agency workspace** — Shared workspace quota and client reports for consultant accounts

## AI readiness

This API is usable in Jentic One now. Its AI-readiness score against Jentic's framework shows where it stands today and where improvements would make it even easier for agents to use.

- **Score:** 66 / 100
- **Maturity:** AI-Aware
- **Dimensions:**
  - Foundational Compliance: 82 / 100
  - Developer Experience & Jentic Compatibility: 68 / 100
  - AI-Readiness & Agent Experience: 52 / 100
  - Agent Usability: 94 / 100
  - Security: 50 / 100
  - AI Discoverability: 66 / 100
- **View full report:** https://jentic.com/apis/preuve.ai/preuve/scorecard
- **How the score is calculated:** https://docs.jentic.com/reference/api-readiness-framework/overview/
- **More about the dimensions:** https://docs.jentic.com/reference/api-readiness-framework/specification/#dimensional-model-overview

### Score it yourself

Every API in the directory is allowlisted, so you can re-score it with no key required.

- **Score your own API:** https://jentic.com/scorecard.md
- **Scoring CLI agent skill:** https://github.com/jentic/jentic-api-scorecard/blob/main/skills/jentic-api-scorecard/SKILL.md

```sh
npx @jentic/api-scorecard-cli score <openapi-url>
```

## Why Jentic

- **Setup:** Wiring Preuve by hand means sending the prv_ key in the x-preuve-key header, managing clientRunId idempotency, and writing the poll-until-readyForExport loop for asynchronous runs. Through Jentic you install once, import Preuve from the API Directory, store the key once, and your agent calls it.
- **Permission scoping:** Preuve puts the analysis id in the URL path (`/api/agent/analyses/{id}/...`), so a rule can tie your agent to the analysis routes it needs. You choose which operations it may call, so quota-spending ones like createAgencyAnalysis or deep batch creation are not included unless you add them.
- **Credential handling:** Your Preuve API key is stored once, encrypted, by your own Jentic One instance and injected into the x-preuve-key header at execution time. It never enters the agent's prompt, logs, or context.
- **Discovery method:** Agents search Jentic by intent such as 'validate a startup idea' or 'export an idea report', and Jentic returns the matching Preuve operation with its input schema, including clientRunId and scanType, so the agent calls the right endpoint without reading the docs.

## Related APIs

- **Crunchbase** — Company, funding, and investor records for researching competitors Preuve surfaces
- **Exa** — Neural web search an agent can use to gather its own market evidence
- **Semrush** — Search demand and keyword data to test whether people look for the idea

## FAQ

### What authentication does the Preuve Agent API use?

Per its OpenAPI spec, the Preuve Agent API authenticates with an API key (prefixed prv_) sent as-is in the x-preuve-key header, with no signing and no bearer token. The discovery document at GET `/api/agent` is unauthenticated, while the analysis, batch, idea generator, and Agency operations expect the key. Through Jentic the key is held by your own instance and attached to each call.

### Can I validate a startup idea for free with the Preuve Agent API?

Yes. Setting scanType to starter on POST `/api/agent/analyses` costs nothing and returns a real report, which makes it the sandbox for the create, poll, enrich, and export loop. A scanType of deep runs the full paid analysis and consumes account quota.

### What are the rate limits for the Preuve Agent API?

The OpenAPI spec states that the idea generator gives free accounts 5 generations per rolling 24 hours and paid accounts a fair-use ceiling of 20 per rolling 24 hours. Rate-limited calls answer 429 with RATE_LIMITED and a Retry-After header. The unauthenticated GET `/api/agent` discovery document lists the current limits, and https://docs.preuve.ai/ has the full details.

### Is there a Preuve MCP server?

You don't need an MCP server to give your agent the Preuve Agent API. Jentic connects it directly from the API Directory: import it, store your x-preuve-key once, and your agent calls the analysis operations on demand without loading another server's tool definitions into its context.

### How do I validate an idea and export the report through Jentic?

Search Jentic for 'validate a startup idea', load createAnalysis, and execute it with a clientRunId, a scanType, and the idea text. Poll getAnalysis with the returned id until readyForExport is true, then call exportAnalysis for the structured JSON. To run it on your own infrastructure, install Jentic One from its GitHub repo.

### Can I limit what my agent is allowed to do with the Preuve Agent API?

Yes. Write a rule that allows createAnalysis, getAnalysis, and exportAnalysis and leaves out createAgencyAnalysis, so the agent can run and read personal validations but cannot spend shared Agency project credits. Every call it makes is logged for review.
