Read-only REST at /api/v1. Unauthenticated requests work so the first curl has zero signup friction. A free key raises the monthly quota — create one here.
Comp output, preference stacks, and many valuations are model estimates, not facts. Look for is_estimated, confidence, ranges, and the assumption notes that ship verbatim on /comp. Do not present a point estimate as a sure outcome.
Optional header: Authorization: Bearer neov_sk_…. Omit it for the unauthenticated taste (core identity fields, tight per-IP limit). A free key is 1k requests/month, still core fields. Paid tiers (full funding/comp blocks) are not self-serve yet. Standard X-RateLimit-* headers on every response. Invalid keys return 401; over-quota returns 429.
GET /api/v1/companies?q=stripe. Also accepts yc_batch, stage, status, country, min_raised / max_raised, limit (≤50).
Without a key
curl https://www.neov.dev/api/v1/companies?q=stripe
With a key
curl https://www.neov.dev/api/v1/companies?q=stripe \ -H "Authorization: Bearer neov_sk_YOUR_KEY"
GET /api/v1/companies/stripe. Free and anonymous callers get core identity fields plus attribution; estimated valuation lives behind a paid tier.
Without a key
curl https://www.neov.dev/api/v1/companies/stripe
With a key
curl https://www.neov.dev/api/v1/companies/stripe \ -H "Authorization: Bearer neov_sk_YOUR_KEY"
GET /api/v1/companies/stripe/comp?options=10000&strike=4.20. Same model as the web evaluator. Values are estimates — see assumptions in the response.
Without a key
curl "https://www.neov.dev/api/v1/companies/stripe/comp?options=10000&strike=4.20"
With a key
curl "https://www.neov.dev/api/v1/companies/stripe/comp?options=10000&strike=4.20" \ -H "Authorization: Bearer neov_sk_YOUR_KEY"
Local MCP in this repo: pnpm mcp (packages/mcp). Same neov_sk_… key as REST. Hosted MCP is not available yet.