API Keys
Up to 5 active keys per account
Find Vendors
Search the vendor network by address and optional category or keyword. Select up to 10 vendors, then click Get Quotes — Vendora sends a push notification to onboarded partners and an AI phone call (via VAPI) to non-onboarded vendors.
Sent directly to the API — never logged by this page.
Search Parameters
Get Quotes for Selected Vendors
API Reference
Vendora v2 — find and contact local vendors from any application.
Base URL
All endpoints are under /v2/. All responses use JSON.
Authentication
Every request must include your API key as a Bearer token in the Authorization header.
Create and manage your keys in the API Keys tab. Each key is shown only once at creation — store it securely.
Search the vendor network by address and radius. Geocodes the address and returns vendors sorted by distance, then score. Use description to search by plain-English problem description (AI-classified), or query to keyword-search by vendor name.
Query Parameters
| Parameter | Type | Required | Default | Description |
|---|---|---|---|---|
| address | string | Yes | — | Property address geocoded to find nearby vendors. City + state or full street address. e.g. "123 Main St Newark NJ 07102" |
| category | string | No | — | Filter by category code prefix. e.g. PLB returns all plumbing subcategories; PLB.GEN is exact. |
| query | string | No | — | Keyword search on vendor name (case-insensitive). Alias: q. |
| radius | number | No | 25 | Search radius in miles. Range: 1–200. |
| limit | number | No | 12 | Results per page. Range: 1–50. |
| page | number | No | 1 | Page number for pagination. |
Response — GET /v2/vendors
Vendor Object
Contact a list of vendors by vendor_id and trigger outreach automatically.
Onboarded Vendora partners receive a push notification to the Vendora app.
Non-onboarded vendors receive an AI outbound phone call via VAPI.
Your calling program sends the same request regardless — Vendora routes it based on each vendor's onboarding status.
Request Body (JSON)
| Field | Type | Required | Default | Description |
|---|---|---|---|---|
| get_quotes | boolean | Yes | — | Must be true. |
| vendor_ids | string[] | Yes | — | Array of vendor UUIDs to contact. Max 10. Use GET /v2/vendors to find IDs. |
| address | string | Yes | — | Property address where work is needed. |
| query | string | Yes | — | Plain-English job description. Used in VAPI call script for non-onboarded vendors. e.g. "kitchen faucet dripping constantly" |
| category | string | No | — | Category code to tag this quote request. e.g. PLB.GEN |
| budget_low | number | No | — | Budget range minimum (USD). |
| budget_high | number | No | — | Budget range maximum (USD). |
| reference_id | string | No | — | Your internal ID for this request — echoed back as external_reference_id in the response. |
| urgency | string | No | "normal" | normal · urgent · scheduled |
| property_type | string | No | "apartment" | Property type passed to the vendor call script. |
Response
Vendor Result Statuses
| Status | Type | Meaning |
|---|---|---|
| initiated | call | VAPI outbound call successfully dispatched to non-onboarded vendor |
| bid_requested | onboarded | Push notification sent to onboarded vendor's Vendora app |
| skipped | call | Vendor skipped — unparseable or missing phone number |
| failed | call | VAPI call rejected (see error field) |
| error | any | Unexpected error during contact attempt |
Category Codes
Pass a category code in the category parameter to filter search results or tag a quote request. Prefix matching is supported — PLB matches all plumbing subcategories.
Full category list is available on request. Unrecognized descriptions fall back to GEN.HDY.
Vendor Score & Tiers
Each vendor receives a composite Vendora Score (0–100) based on licensing status, insurance, BBB accreditation, years in business, and customer reviews. The score maps to a letter tier.
Code Examples
Search vendors (GET)
Request quotes from specific vendors (POST)
HTTP Status Codes
| Code | Meaning | Common Cause |
|---|---|---|
| 200 | OK | Request succeeded |
| 400 | Bad Request | Missing required field or invalid value. GET: address required. POST: get_quotes, vendor_ids, address, query required. |
| 401 | Unauthorized | Missing, invalid, or revoked API key |
| 500 | Server Error | Unexpected error — the response body contains an error field with details |
Limits
• 5 API keys per developer account
• 50 vendors max returned per request
• 200 miles max search radius
• 10 vendor IDs max in vendor_ids
• 24-hour cooldown per vendor — prevents duplicate quote requests
• Please keep requests under 10 per second. Rate limiting will be enforced in a future release.