DriveRevu public API
Version 1 provides public catalog metadata and links to published review pages. It does not establish a completed review, verified model-year availability, dealer inventory or permission to reuse media.
Read-only endpoints
- GET /api/v1/catalog — search public vehicles.
- GET /api/v1/reviews/{slug} — catalog detail and filtered publisher-listed source URLs.
- GET /api/v1/inventory — explicit provider-not-connected response.
Bounds and pagination
Search accepts q (80 characters, five words), make (60-character slug), year (2000–2099), kind (production by default, or concept), page (1–20) and limit (1–25; default 20). Unknown or duplicate parameters fail with 400. URLs are limited to 1024 characters. Detail slugs allow 120 lowercase letters, digits or hyphens; detail and inventory accept no query parameters.
Results are ordered by stable record ID. nextPage is null at the end or at the 20-page window; windowLimitReached distinguishes truncation. Narrow your search beyond that window. Pages are live and may shift during updates; deduplicate by ID and use content timestamps. There is no bulk export or count query.
Evidence and privacy
Only PUBLISHED, non-deleted records qualify. Pending records are catalog_only. Scores are withheld and numerical ratings are null. US is the catalog scope; model-year and retail status remain unverified. The schema does not bind independent audits and rights to exact revisions, so this API does not export review text, drafts, summaries, contact data, internal audit notes, or media. Follow canonicalUrl to read the public page.
Up to ten source URLs are extracted from the published sources footer. These are publisher-listed, independently unverified references, not fact-level citations. Retrieval dates and hashes are null. Sensitive, internal, authenticated and query-bearing URLs are omitted; provenance may be incomplete.
Caching and capacity
Successful responses include an ETag with private, no-cache, max-age=0, must-revalidate. Send If-None-Match to receive 304 only after a fresh publication check. Errors use no-store. Do not retain an earlier response as current when revalidation fails.
A best-effort per-instance gate allows 120 requests per minute and four concurrent requests, returning 429 with Retry-After: 60. It stores no IP or contact identity. This is not a distributed quota or an abuse-proof global limit; instances reset and scale independently. Cache revalidation reduces bytes, not database checks. Use low concurrency and back off on 429/503.
No key is required. CORS permits public reads; mutation methods are unsupported. There is no MCP transport, paid service, connected inventory or lead delivery. API availability does not imply inclusion or endorsement by any assistant.