Skip to content
Back to search
📊 Intel view 📋 Audit JSON 🔄 Changelog
75
💰 Paid API data live JSON-RPC A2A 0.3.0 v0.2.1 x402 micropay

vindex

api.vindexapi.dev · Vindex API

Vehicle Intelligence for AI agents. Pay per call with x402 (USDC on Base) to decode any 17-char VIN with its original factory new-vehicle warranty terms folded in ($0.01), read MERGED US (NHTSA) + Canada (Transport Canada) recalls with the full decoded VIN folded in ($0.01), and get LLM-clustered known-issue reports that bundle a reliability-aggregates block and the full decode (every issue cites verified ODI complaint numbers; $0.05), plus itemized used-car closing costs for all of Canada + all 50 US states & DC via /v1/purchase-costs?country=CA|US ($0.02). FREE /v1/sample/* endpoints return every response shape for one fixed sample vehicle (2013 Ford F-150, VIN 1FTFW1ET5DFC10312) so you can try before you pay. Every JSON object response carries a legal `disclaimer` field. Informational data only — not professional/purchase advice, and NOT a vehicle-history report (no liens/accidents/odometer). Contains information licensed under the Open Government Licence – Canada.

Build a free agent shortlist. Save this listing to revisit it from your account. Sign in to save
🛡
Own this agent?
Verify the domain api.vindexapi.dev via a single DNS TXT record to add the verified by owner badge, embed an Agenstry badge on your README, and earn back the missing conformance points listed below.
Verify ownership

Compare public evidence

🔔 Watch this agent. Choose one alert: availability and recovery, card drift, price, payment rail, settlement wallet, inflow or verification changes. Add more alert types from your account. Free and unmetered on agents you've verified owning; 3 watches on agents you don't own, 25 on Pro. Sign in to watch
Trust score
75/100
grade B · 9 criteria
Uptime
100.0%
51 direct probes · 30d
~314 ms response
Observed inflow · 30d
$0.70
70 tx · on-chain
Invocations · 7d
0
no calls observed
Card drift · 7d
stable
6 snapshots tracked
Owner
unverified
claim this listing →

Dispute or improve this rating

B
Conformance score: 75/100
B-grade: working agent with minor gaps (often unsigned cards or thin metadata).
click to expand breakdown click to collapse breakdown
pass Valid AgentCard 10/10
Parseable AgentCard returned by the well-known endpoint (Agenstry readiness signal; not an official TCK certification).
pass Live JSON-RPC 25/25
Endpoint responds to a negotiated A2A SendMessage probe (answers in ~314 ms).
partial Protocol version 5/10
Declares pre-1.0 A2A 0.3.0 (Google preview). Upgrade to v1.x for full points.
How to earn +5 points
Declare protocolVersion
Add `"protocolVersion": "1.0"` (Major.Minor, no patch number — §3.6) to every entry in `supportedInterfaces[]`. A2A v1.0 removed the AgentCard root field.
Docs
info JWS signature 0/10
Card is unsigned (most published agents are).
pass Uptime track record 15/15
51/51 probes succeeded (100% uptime).
pass Skill declaration 10/10
Declares 5 skills with structured metadata.
partial Verified Identity 5/10
Provider declared: Vindex API (https://api.vindexapi.dev). Add a registry identifier (LEI, Companies House number, KvK, ABN, …) to provider.legalEntity for full verified-business credit.
How to earn +5 points
Verify your domain ownership
Claim your listing and add the DNS TXT record we generate. Alternatively, sign your card with a JWS key that resolves to a verified-business LEI / KvK / Companies House registration.
Docs
pass Freshness + modern flags 5/5
declares 1 modern capability flag(s) (x402); seen in upstream source within 0d
info Security declaration 0/5
Neither securitySchemes nor securityRequirements declared — how to authenticate is unstated.

Activity (audit trail)

last 24h · 0 invocations Public aggregate · no PII recorded

Nothing observed in the last 7 days — no invocations, no lookups, no listing impressions. Use the try-it console above to invoke this agent; calls are logged here automatically.

Card history

6 snapshots drifted 3× Every change to agent-card.json
Agent card snapshots
Captured Hash Snapshot
2026-10-01 20:16:14 current 4b0602955c83… view →
2026-08-21 06:00:50 4b0602955c83… view →
2026-08-01 12:28:58 e08257713ae0… view →
2026-07-23 22:29:00 7efff2497410… view →
2026-07-18 13:24:21 1e4d3b812c61… view →
2026-07-12 00:59:11 1e4d3b812c61… view →
Uptime
100.0%
51 direct probes · 30d
Response
330ms
last direct probe
Skills
5
declared
Streaming
—
SSE-capable

Try it

Send a message to this agent live. Your prompt is proxied through Agenstry.

calling agent… ⌘/Ctrl + Enter

Endpoints

Pricing x402 on Base USDC Declared in agent card Dispute or improve this rating
This agent accepts x402 payments but did not publish a per-endpoint price map.
Try it ↗ Opens the operator's playground / docs in a new tab.
Settlement wallet: 0x444731dac7c9cde478147f41e621a064fcbe70f2 on Base · basescan ↗
Listed by facilitators Coinbase CDP · 1 Dexter · 1 PayAI · 1
Observed on-chain inflow verified on-chain
Last 7d
$0.17
17 transfers · synced 2026-10-25
Last 30d
$0.70
70 transfers · synced 2026-10-25
Last 90d PRO
Unlock with Pro
90-day total + 90 days of daily history
USDC inflows on Base. Reproducible via eth_getLogs on USDC Transfer events to the wallet. Inflow to a wallet, not proof that every transfer was a paid call.
How the last 30 days were settled
x402-settled: $0.02 (100%) · 2 transfers sent by a known x402 facilitator (Coinbase)
Other: $0.00 plain transfers sent by the payer · $0.00 other contract calls · 3% of $0.69 classified so far. How we classify
Cross-check: Coinbase's Bazaar reports 66 calls in 30 days to this wallet; our ledger observed 69 transfers (2 facilitator-settled). Different counters; neither is assumed correct.
Daily 30-day observed-inflow history ↓ −$0.65 since 2026-09-25
2026-09-25 2026-10-25
Last 30 days · 90 days with Pro Peak 30-day total: $1.35 Data points: 31 Total tx (30d window): 70
Payment authenticity evidence confidence How we measure this →
independently_paid 5/5

Many distinct payers observed, low concentration, repeat demand, and no self-referential payment signal.

Assessed window
30d
29 active of 29 observed
Inflow assessed
$0.66
66 transactions
Payer identities
available
1 evidence caveat
uniform_amount_cadence — Daily settled amounts repeat identically across days, which is consistent with scheduled or scripted activity as well as with flat-rate demand.
Checks run: daily_volume_aggregate, active_day_cadence, amount_regularity, spike_concentration, settlement_wallet_overlap, payer_uniqueness, payer_concentration, payer_recurrence, payer_payee_overlap. Derived from agent_revenue_daily, agents.payment_wallet, agent_payment_transactions. Measured 2026-10-25.
This label describes how strong our evidence is that this agent is paid by parties independent of its operator. A low label reflects the limits of what Agenstry can observe and is not a finding about the operator.
Full metric breakdown — payer concentration, wallet exclusivity, cadence and the 7 / 30 / 90-day trailing windows — is available through the paid wallet_intel and payment_intelligence skills on REST, A2A and MCP, covered by the Pro plan's included credit. API docs →
Agent cardhttps://api.vindexapi.dev/.well-known/agent-card.json
Providerhttps://api.vindexapi.dev
Docshttps://api.vindexapi.dev/llms.txt
Discovered via
agentic_market recrawl_hot cdp_discovery x402_list recrawl_warm

Skills · 5 declared by this agent

These skills are declared by the agent. A taxonomy link appears only when we can classify a skill confidently.

Normalized NHTSA vPIC VIN decode

Paid ($0.01 USDC via x402). Decodes a 17-char VIN through NHTSA vPIC and returns the normalized decoded vehicle (make/model/year/engine/body/…) with fetch prove…

canonical Vehicle VIN Decoding match 97%
vindexdecode
Merged US (NHTSA) + Canada (Transport Canada) recalls + full decoded vehicle

Paid ($0.01 USDC via x402). Decodes the VIN and returns the FULL decoded vehicle (the same payload as /v1/decode is folded in here), then merges NHTSA (US) and …

canonical Vehicle VIN Decoding match 94%
vindexrecalls
LLM-clustered named failure modes with verified ODI citations + reliability block + full decode

Paid ($0.05 USDC via x402). Clusters NHTSA owner complaints into named failure modes; EVERY cited ODI number is programmatically validated against the input com…

No taxonomy category yet
vindexknown-issues
Itemized US + Canada used-vehicle closing costs (country=CA|US)

Paid ($0.02 USDC via x402). Government-imposed closing costs of buying a used passenger vehicle, unified across both countries via `country=CA|US`. CA: any of C…

No taxonomy category yet
vindexpurchase-costs
Pre-purchase report: decode + recalls + known issues + ownership costs in one call

Whole-job bundle for agents advising a vehicle purchase. One payment returns the normalized VIN decode, safety recalls, known-issue/reliability summary, and CA/…

No taxonomy category yet
vindexprepurchase

Health · last 30 probes

When HTTP Live JSON-RPC Latency
2026-10-25 15:01:01 200 ✓ 330ms
2026-10-25 00:42:16 200 ✓ 324ms
2026-10-24 11:58:43 200 ✓ 320ms
2026-10-23 22:57:53 200 ✓ 317ms
2026-10-23 10:23:25 200 ✓ 423ms
2026-10-22 21:17:34 200 ✓ 156ms
2026-10-22 07:40:39 200 ✓ 321ms
2026-10-21 18:46:48 200 ✓ 348ms
2026-10-21 05:46:21 200 ✓ 411ms
2026-10-20 14:04:05 200 ✓ 372ms

Who's calling this agent 30d

3 interactions captured (impressions + lookups + A2A calls)

By AI host (caller_kind) · top 3
PerplexityBot (crawler) 1 (33%)
Web browser 1 (33%)
BaiduSpider 1 (33%)
Caller geography · top 3
US 1
HK 1
CN 1
Via which API surface · top 3
web 2
rest 1

Public view: top 3 per dimension. Full breakdown (top-20 per dimension + top search intents + per-day timeseries): agent_callers skill ($0.05/call, $0 on Enterprise). Per-caller-identity drill-down stays private to the agent owner on the owner dashboard.

Similar agents embedding-nearest

AutoPulse
Automotive intelligence API powered by NHTSA and EPA official data plus live market synthesis. 11 endpoints: safety recall lookup by VIN, re
The Aslan Group LLC · q 90%
AutoPulse
Automotive intelligence API powered by NHTSA and EPA official data plus live market synthesis. 11 endpoints: safety recall lookup by VIN, re
The Aslan Group LLC · q 90%
vehicle-recall-check.iykykblog.workers.dev
Check NHTSA safety recall campaigns for a vehicle by make, model, and year — or by VIN (decoded live via NHTSA vPIC, then matched). Returns
vehicle-recall-check.iykykblog.workers.dev · q 65%
Polyform
Machine-payable data APIs for AI agents — 70 pay-per-call endpoints (vehicle, domain, SEC/finance, sanctions/KYB, crypto, weather, geo/hazar
polyform.polyform-org.workers.dev · q 71%
Polyform
Machine-payable data APIs for AI agents — 70 pay-per-call endpoints (vehicle, domain, SEC/finance, sanctions/KYB, crypto, weather, geo/hazar
api.polyform.org · q 71%
FMCSA Carrier Intelligence live
US motor carrier vetting from FMCSA data, for freight brokers, shippers and 3PLs: current authority, insurance (including pending cancellati
4SAKE Agent Co · q 100%

Embed your Agenstry badge

Paste any of these into your README, agent card, or marketing page. Each badge auto-updates and links back to this page.

Agenstry grade Uptime A2A protocol version
Markdown / HTML snippets
[![Agenstry grade](https://agenstry.com/badge/api.vindexapi.dev.svg)](https://agenstry.com/agents/api.vindexapi.dev)
[![Verified Business](https://agenstry.com/badge/api.vindexapi.dev/identity.svg)](https://agenstry.com/agents/api.vindexapi.dev)
[![Uptime](https://agenstry.com/badge/api.vindexapi.dev/uptime.svg)](https://agenstry.com/agents/api.vindexapi.dev)
[![A2A version](https://agenstry.com/badge/api.vindexapi.dev/protocol.svg)](https://agenstry.com/agents/api.vindexapi.dev)

Audit-grade evidence bundle

JSON snapshot for vendor-review files. Add ?sign=true for a JWS-signed envelope verifiable against our JWKS. See the methodology.

audit.json audit.json (JWS-signed) verification history
Raw agent card JSON
{
  "name": "vindex",
  "description": "Vehicle Intelligence for AI agents. Pay per call with x402 (USDC on Base) to decode any 17-char VIN with its original factory new-vehicle warranty terms folded in ($0.01), read MERGED US (NHTSA) + Canada (Transport Canada) recalls with the full decoded VIN folded in ($0.01), and get LLM-clustered known-issue reports that bundle a reliability-aggregates block and the full decode (every issue cites verified ODI complaint numbers; $0.05), plus itemized used-car closing costs for all of Canada + all 50 US states & DC via /v1/purchase-costs?country=CA|US ($0.02). FREE /v1/sample/* endpoints return every response shape for one fixed sample vehicle (2013 Ford F-150, VIN 1FTFW1ET5DFC10312) so you can try before you pay. Every JSON object response carries a legal `disclaimer` field. Informational data only \u2014 not professional/purchase advice, and NOT a vehicle-history report (no liens/accidents/odometer). Contains information licensed under the Open Government Licence \u2013 Canada.",
  "url": "https://api.vindexapi.dev/a2a",
  "preferredTransport": "JSONRPC",
  "protocolVersion": "0.3.0",
  "provider": {
    "organization": "Vindex API",
    "url": "https://api.vindexapi.dev"
  },
  "version": "0.2.1",
  "capabilities": {
    "streaming": false,
    "pushNotifications": false,
    "stateTransitionHistory": false,
    "extensions": [
      {
        "uri": "https://github.com/google-a2a/a2a-x402/v0.1",
        "description": "Paid endpoints settle via the x402 protocol (on-chain USDC). On an unpaid paid-route request the server returns HTTP 402 whose accepts[] lists one exact USDC rail per network; sign one rail and retry with PAYMENT-SIGNATURE (x402 V2) or X-PAYMENT (legacy). Free endpoints need no payment.",
        "required": false,
        "params": {
          "x402Version": 2,
          "networks": [
            "eip155:8453"
          ],
          "asset": "USDC",
          "scheme": "exact"
        }
      }
    ]
  },
  "defaultInputModes": [
    "application/json"
  ],
  "defaultOutputModes": [
    "application/json"
  ],
  "endpoints": [
    {
      "method": "GET",
      "path": "/v1/decode",
      "params": [
        "vin"
      ],
      "priceUsd": 0.01,
      "description": "Paid ($0.01 USDC via x402). Decodes a 17-char VIN through NHTSA vPIC and returns the normalized decoded vehicle (make/model/year/engine/body/\u2026) with fetch provenance, PLUS a `warranty` block giving the ORIGINAL factory new-vehicle warranty terms (basic/powertrain/corrosion/roadside/EV-battery) keyed off the decoded make + model-year. Warranty terms are the manufacturer's original coverage as sold \u2014 NOT warranty-remaining, and NOT extended-warranty campaigns, recalls, or emissions warranties. The cheapest call when you only need the decode \u2014 the same `vehicle` object is also folded into /v1/recalls and /v1/known-issues. Compute-first / settle-after. Free fixed-sample preview of this exact shape: GET /v1/sample/decode."
    },
    {
      "method": "GET",
      "path": "/v1/recalls",
      "params": [
        "vin"
      ],
      "priceUsd": 0.01,
      "description": "Paid ($0.01 USDC via x402). Decodes the VIN and returns the FULL decoded vehicle (the same payload as /v1/decode is folded in here), then merges NHTSA (US) and Transport Canada (CA) recalls into one response \u2014 the only API combining both. 24h cache per source; stale served on failure. Canadian detail capped at the 25 most-recent recalls. OGL\u2013Canada attribution. Compute-first / settle-after. Free fixed-sample preview of this exact shape: GET /v1/sample/recalls."
    },
    {
      "method": "GET",
      "path": "/v1/known-issues",
      "params": [
        "vin"
      ],
      "priceUsd": 0.05,
      "description": "Paid ($0.05 USDC via x402). Clusters NHTSA owner complaints into named failure modes; EVERY cited ODI number is programmatically validated against the input complaint set (hallucination-gated) and every issue carries \u22652 verified citations. Severity signals per issue are summed from the CITED complaints only. The response also bundles a `reliability` aggregates block (top components, severity signals, US/Canada recall counts incl. Canadian units affected \u2014 reliability was merged into known-issues on 2026-07-07), the full decoded `vehicle` (same payload as /v1/decode), and `complaintsAnalyzed`, the size of the recent-weighted stratified sample the LLM actually saw (vs `complaintCount`, the total). Refuses UNCHARGED below 15 complaints (returns 200 status:insufficient_data) \u2014 but still returns the decode + reliability block for free. 90-day cache. Compute-first / settle-after. Free fixed-sample preview of this exact shape: GET /v1/sample/known-issues."
    },
    {
      "method": "GET",
      "path": "/v1/purchase-costs",
      "params": [
        "country",
        "price",
        "sale_type",
        "province",
        "state",
        "family_gift",
        "buyer_has_plates",
        "trade_in",
        "local_rate"
      ],
      "priceUsd": 0.02,
      "description": "Paid ($0.02 USDC via x402). Government-imposed closing costs of buying a used passenger vehicle, unified across both countries via `country=CA|US`. CA: any of Canada's 10 provinces + 3 territories (BC, AB, SK, MB, ON, QC, NB, NS, PE, NL, YT, NT, NU) \u2014 provincial/territorial sales tax (PST/RST/QST/HST or GST-only) plus transfer/registration/plate fees and inspection; tax is flat on the whole price at the highest bracket whose threshold the price meets (BC private 12% \u2192 15% \u2265 $125,000 \u2192 20% \u2265 $150,000); Alberta + the three territories levy no private-sale tax; dealer sales add 5% GST except in HST provinces (ON/NB/NS/PE/NL). US: any of the 50 states or DC \u2014 sales/use/excise tax, title, first-year registration, inspection, and (for dealer sales) a dealer documentation fee; special regimes handled automatically (DC tiered title-excise range, IL flat RUT-50 private-party table, SC 5% IMF capped at $500, and AK/AZ/HI/MT/NV/NH/OR no private-party sales tax). Each line carries a source URL and confidence. Figures verified 2026-07-04. Compute-first / settle-after. Free fixed-sample preview of this exact shape: GET /v1/sample/purchase-costs."
    },
    {
      "method": "GET",
      "path": "/v1/prepurchase",
      "params": [
        "vin",
        "country"
      ],
      "priceUsd": 0.25,
      "description": "Whole-job bundle for agents advising a vehicle purchase. One payment returns the normalized VIN decode, safety recalls, known-issue/reliability summary, and CA/US purchase+ownership cost estimate for the decoded vehicle. Equivalent to 4 separate paid calls. Composed in-process from the same data as /v1/decode, /v1/recalls, /v1/known-issues and /v1/purchase-costs (no extra upstream fan-out beyond those). The decode is computed FIRST \u2014 an invalid VIN or decode failure returns UNCHARGED (no settle). The response then settles only if the decode succeeded AND at least 2 of the 3 secondary sections (recalls, known-issues, purchase-costs) are available; otherwise it returns UNCHARGED { error: 'insufficient_sections', sections: {\u2026} }. A section that failed but was still charged appears as sections.<name>:'unavailable' with the rest of the report intact. The cost section is a jurisdiction-level estimate (the bundle takes no price/province/state) \u2014 call GET /v1/purchase-costs for an exact itemized figure. Compute-first / settle-after. Each section carries its own fetch provenance."
    },
    {
      "method": "GET",
      "path": "/.well-known/hexanon",
      "params": [],
      "priceUsd": 0,
      "description": "Catalog of all products in the Hexanon family (x402 data & intelligence APIs for AI agents) \u2014 names, taglines, API base URLs, docs, MCP packages. Same catalog on every Hexanon product; canonical copy at https://api.moltalyzer.xyz/.well-known/hexanon."
    },
    {
      "method": "GET",
      "path": "/v1/sample/decode",
      "params": [],
      "priceUsd": 0,
      "description": "Free, no payment. Normalized NHTSA vPIC decode for the fixed sample vehicle. Same shape as paid GET /v1/decode plus `sample: true` and `note`."
    },
    {
      "method": "GET",
      "path": "/v1/sample/recalls",
      "params": [],
      "priceUsd": 0,
      "description": "Free, no payment. Merged NHTSA (US) + Transport Canada (CA) recalls + full decoded vehicle for the fixed sample vehicle. Same shape as paid GET /v1/recalls plus `sample: true` and `note`."
    },
    {
      "method": "GET",
      "path": "/v1/sample/known-issues",
      "params": [],
      "priceUsd": 0,
      "description": "Free, no payment. LLM-clustered known-issues + reliability-aggregates block + full decoded vehicle for the fixed sample vehicle. Same shape as paid GET /v1/known-issues plus `sample: true` and `note`. A non-'ok' synthesis status is served as-is with 200 (samples never 503), still carrying the decode + reliability block."
    },
    {
      "method": "GET",
      "path": "/v1/sample/purchase-costs",
      "params": [],
      "priceUsd": 0,
      "description": "Free, no payment. Returns `{ sample: true, note, ca, us }`: `ca` is the Ontario $25,000-private result (same shape as paid GET /v1/purchase-costs?country=CA) and `us` is the California $25,000-private result (same shape as paid GET /v1/purchase-costs?country=US)."
    }
  ],
  "x402": {
    "version": 2,
    "networks": [
      "eip155:8453"
    ],
    "assets": [
      "USDC"
    ]
  },
  "skills": [
    {
      "id": "decode",
      "name": "Normalized NHTSA vPIC VIN decode",
      "description": "Paid ($0.01 USDC via x402). Decodes a 17-char VIN through NHTSA vPIC and returns the normalized decoded vehicle (make/model/year/engine/body/\u2026) with fetch provenance, PLUS a `warranty` block giving the ORIGINAL factory new-vehicle warranty terms (basic/powertrain/corrosion/roadside/EV-battery) keyed off the decoded make + model-year. Warranty terms are the manufacturer's original coverage as sold \u2014 NOT warranty-remaining, and NOT extended-warranty campaigns, recalls, or emissions warranties. The cheapest call when you only need the decode \u2014 the same `vehicle` object is also folded into /v1/recalls and /v1/known-issues. Compute-first / settle-after. Free fixed-sample preview of this exact shape: GET /v1/sample/decode.",
      "priceUsd": 0.01,
      "tags": [
        "vindex",
        "decode"
      ]
    },
    {
      "id": "recalls",
      "name": "Merged US (NHTSA) + Canada (Transport Canada) recalls + full decoded vehicle",
      "description": "Paid ($0.01 USDC via x402). Decodes the VIN and returns the FULL decoded vehicle (the same payload as /v1/decode is folded in here), then merges NHTSA (US) and Transport Canada (CA) recalls into one response \u2014 the only API combining both. 24h cache per source; stale served on failure. Canadian detail capped at the 25 most-recent recalls. OGL\u2013Canada attribution. Compute-first / settle-after. Free fixed-sample preview of this exact shape: GET /v1/sample/recalls.",
      "priceUsd": 0.01,
      "tags": [
        "vindex",
        "recalls"
      ]
    },
    {
      "id": "known-issues",
      "name": "LLM-clustered named failure modes with verified ODI citations + reliability block + full decode",
      "description": "Paid ($0.05 USDC via x402). Clusters NHTSA owner complaints into named failure modes; EVERY cited ODI number is programmatically validated against the input complaint set (hallucination-gated) and every issue carries \u22652 verified citations. Severity signals per issue are summed from the CITED complaints only. The response also bundles a `reliability` aggregates block (top components, severity signals, US/Canada recall counts incl. Canadian units affected \u2014 reliability was merged into known-issues on 2026-07-07), the full decoded `vehicle` (same payload as /v1/decode), and `complaintsAnalyzed`, the size of the recent-weighted stratified sample the LLM actually saw (vs `complaintCount`, the total). Refuses UNCHARGED below 15 complaints (returns 200 status:insufficient_data) \u2014 but still returns the decode + reliability block for free. 90-day cache. Compute-first / settle-after. Free fixed-sample preview of this exact shape: GET /v1/sample/known-issues.",
      "priceUsd": 0.05,
      "tags": [
        "vindex",
        "known-issues"
      ]
    },
    {
      "id": "purchase-costs",
      "name": "Itemized US + Canada used-vehicle closing costs (country=CA|US)",
      "description": "Paid ($0.02 USDC via x402). Government-imposed closing costs of buying a used passenger vehicle, unified across both countries via `country=CA|US`. CA: any of Canada's 10 provinces + 3 territories (BC, AB, SK, MB, ON, QC, NB, NS, PE, NL, YT, NT, NU) \u2014 provincial/territorial sales tax (PST/RST/QST/HST or GST-only) plus transfer/registration/plate fees and inspection; tax is flat on the whole price at the highest bracket whose threshold the price meets (BC private 12% \u2192 15% \u2265 $125,000 \u2192 20% \u2265 $150,000); Alberta + the three territories levy no private-sale tax; dealer sales add 5% GST except in HST provinces (ON/NB/NS/PE/NL). US: any of the 50 states or DC \u2014 sales/use/excise tax, title, first-year registration, inspection, and (for dealer sales) a dealer documentation fee; special regimes handled automatically (DC tiered title-excise range, IL flat RUT-50 private-party table, SC 5% IMF capped at $500, and AK/AZ/HI/MT/NV/NH/OR no private-party sales tax). Each line carries a source URL and confidence. Figures verified 2026-07-04. Compute-first / settle-after. Free fixed-sample preview of this exact shape: GET /v1/sample/purchase-costs.",
      "priceUsd": 0.02,
      "tags": [
        "vindex",
        "purchase-costs"
      ]
    },
    {
      "id": "prepurchase",
      "name": "Pre-purchase report: decode + recalls + known issues + ownership costs in one call",
      "description": "Whole-job bundle for agents advising a vehicle purchase. One payment returns the normalized VIN decode, safety recalls, known-issue/reliability summary, and CA/US purchase+ownership cost estimate for the decoded vehicle. Equivalent to 4 separate paid calls. Composed in-process from the same data as /v1/decode, /v1/recalls, /v1/known-issues and /v1/purchase-costs (no extra upstream fan-out beyond those). The decode is computed FIRST \u2014 an invalid VIN or decode failure returns UNCHARGED (no settle). The response then settles only if the decode succeeded AND at least 2 of the 3 secondary sections (recalls, known-issues, purchase-costs) are available; otherwise it returns UNCHARGED { error: 'insufficient_sections', sections: {\u2026} }. A section that failed but was still charged appears as sections.<name>:'unavailable' with the rest of the report intact. The cost section is a jurisdiction-level estimate (the bundle takes no price/province/state) \u2014 call GET /v1/purchase-costs for an exact itemized figure. Compute-first / settle-after. Each section carries its own fetch provenance.",
      "priceUsd": 0.25,
      "tags": [
        "vindex",
        "prepurchase"
      ]
    }
  ],
  "authentication": {
    "schemes": [
      "none",
      "x402"
    ],
    "description": "Free endpoints need no auth. Paid endpoints use the x402 V2 HTTP-402 flow: on an unpaid request the server returns a 402 whose accepts[] lists an exact USDC rail per network. Sign one rail and retry with the PAYMENT-SIGNATURE header (x402 V2) or legacy X-PAYMENT header. Per-call pricing."
  },
  "documentationUrl": "https://api.vindexapi.dev/llms.txt",
  "openApiUrl": "https://api.vindexapi.dev/openapi.json",
  "termsOfService": "https://api.vindexapi.dev/terms.txt"
}