WizzBanger Value API
Integrate AI-powered boat identification, condition assessment, and valuation directly into your product with simple REST endpoints. Send boat details + image URLs; receive a structured valuation JSON and a downloadable PDF report.
• Vessel details (normalized)
• Condition scoring per area
• Estimated value + range + pricing recs
• Market analysis & comparables
• Instant PDF report link
• Make, model, year (required)
• Publicly accessible image URLs (required)
• Optional: length, location, engine_hours
• Auth header (token)
Base URL
All endpoints documented below are relative to this base.
Authentication
Pass a bearer token in the Authorization header.
Authorization: Bearer <YOUR_API_TOKEN>
Endpoints
1) Complete Valuation
Processes boat details and image URLs to produce the comprehensive valuation JSON shown below.
Request Body
| Field | Type | Required | Description |
|---|---|---|---|
make | string | yes | Manufacturer (e.g., “Sea Ray”) |
model | string | yes | Model (e.g., “Sundancer 320”) |
year | integer | yes | Year of manufacture |
length | number | no | Length of vessel |
location | string | no | General location |
engine_hours | integer | no | Reported engine hours |
images | string[] | yes | Array of publicly accessible image URLs |
Response (200)
{
"report_date": "2025-10-01",
"document_id": "1981542",
"vessel": {
"year": 2018,
"make": "Monterey",
"model": "238SS Surf",
"type": "Bowrider",
"length_ft": 23,
"beam_ft": 8.5,
"draft_ft": null,
"engine": "Volvo Penta 300 V8 (I/O)",
"horsepower": 300,
"fuel_type": "Gasoline",
"primary_use": "Recreational"
},
"condition": {
"overall_score": 9.7,
"exterior_score": 9.8,
"interior_score": 9.7,
"systems_score": 9.8,
"features_score": 9.7,
"confidence": "very high"
},
"estimated_value_usd": 59760,
"value_range_usd": { "low": 52000, "high": 60000 },
"pricing_recommendations_usd": {
"quick_sale": 52000,
"optimal_listing": 59760,
"minimum_acceptable": 46800
},
"improvement_potential_usd": { "low": 0, "high": 250 },
"location_environment": {
"region_guess": "Southeastern USA, likely freshwater lake",
"environment_type": "Freshwater",
"climate_conditions": ["Warm","Humid","High UV exposure","Minimal freeze risk"],
"environmental_stressors": ["UV degradation","Organic staining","Humidity-related mildew","General freshwater wear"],
"observed_wear": ["Minor dust","Light soiling on deck and seating"]
},
"notable_features": [
"Wake tower","Integrated swim platform (surf-specific)","Premium audio system","Digital helm display","Adjustable captain's chair with bolster"
],
"trailer_included": true,
"critical_unknowns": [
"Minor dust/light soiling present","No safety gear visible for assessment"
],
"market_analysis": {
"listings_analyzed": 4,
"median_price_usd": 56249,
"price_range_usd": { "low": 48995, "high": 66700 },
"top_region": "California"
},
"comparables": [
{ "year": 2018, "make": "Monterey", "model": "238SS Surf", "price_usd": 59999, "location": "Graford, TX, USA", "condition": "Excellent" },
{ "year": 2018, "make": "Monterey", "model": "238SS Surf", "price_usd": 52499, "location": "Milledgeville, GA, USA", "condition": "Excellent" },
{ "year": 2018, "make": "Monterey", "model": "238SS Surf", "price_usd": 48995, "location": "Land O Lakes, FL, USA", "condition": "Excellent" },
{ "year": 2017, "make": "Monterey", "model": "238SS Surf", "price_usd": 66700, "location": "Las Vegas, NV, USA", "condition": "Excellent" }
],
"disclaimers": [
"Image-derived details may be inaccurate.",
"Estimated value is informational only.",
"Not a replacement for a full survey.",
"Default condition scores may apply if photos are insufficient."
]
}
Possible 4xx/5xx errors
{
"error": {
"code": 400,
"message": "Missing required field: make",
"details": [{"field":"make","issue":"required"}],
"request_id": "vw_2f8ab5e9"
}
}
2) Valuation Report (PDF)
Takes the full JSON returned by /boat/valuation_complete and returns a temporary CDN URL for the PDF.
Request Body
| Field | Type | Required | Description |
|---|---|---|---|
valuation | object | yes | Full JSON returned by /boat/valuation_complete |
Response (200)
{
"report_url": "https://cdn.wizzvalue.com/reports/12345abcd.pdf",
"expires_at": "2025-10-01T21:04:00Z",
"request_id": "vw_9c1b2a0f"
}
Quick Start Examples
cURL
curl -X POST "https://api.wizzvalue.com/api/v2/boat/valuation_complete" \
-H "Authorization: Bearer <YOUR_API_TOKEN>" \
-H "Content-Type: application/json" \
-d '{
"make": "Sea Ray",
"model": "Sundancer 320",
"year": 2021,
"images": [
"https://example.com/img/1.jpg",
"https://example.com/img/2.jpg"
],
"location":"Tampa, FL",
"engine_hours": 220
}'
curl -X POST "https://api.wizzvalue.com/api/v2/boat/pdf_report" \
-H "Authorization: Bearer <YOUR_API_TOKEN>" \
-H "Content-Type: application/json" \
-d '{ "valuation": <PASTE_JSON_FROM_VALUATION_COMPLETE> }'
Node.js (fetch)
import fetch from "node-fetch";
const token = process.env.WIZZVALUE_TOKEN;
async function run() {
const valuation = await fetch("https://api.wizzvalue.com/api/v2/boat/valuation_complete", {
method: "POST",
headers: {
"Authorization": `Bearer ${token}`,
"Content-Type": "application/json"
},
body: JSON.stringify({
make: "Sea Ray",
model: "Sundancer 320",
year: 2021,
images: ["https://example.com/1.jpg","https://example.com/2.jpg"]
})
}).then(r => r.json());
const pdf = await fetch("https://api.wizzvalue.com/api/v2/boat/pdf_report", {
method: "POST",
headers: {
"Authorization": `Bearer ${token}`,
"Content-Type": "application/json"
},
body: JSON.stringify({ valuation })
}).then(r => r.json());
console.log(pdf.report_url);
}
run().catch(console.error);
Python (requests)
import os, requests
TOKEN = os.getenv("WIZZVALUE_TOKEN")
BASE = "https://api.wizzvalue.com/api/v2"
valuation = requests.post(
f"{BASE}/boat/valuation_complete",
headers={"Authorization": f"Bearer {TOKEN}"},
json={
"make":"Sea Ray", "model":"Sundancer 320", "year":2021,
"images":["https://example.com/1.jpg","https://example.com/2.jpg"]
}
).json()
pdf = requests.post(
f"{BASE}/boat/pdf_report",
headers={"Authorization": f"Bearer {TOKEN}"},
json={"valuation": valuation}
).json()
print(pdf["report_url"])
Request & Response Schemas
Valuation Request
{
"make": "string", // required
"model": "string", // required
"year": 2021, // required
"length": 32.0, // optional
"location": "Tampa, FL", // optional
"engine_hours": 220, // optional
"images": ["https://..."] // required, public URLs
}
Valuation Response (fields returned)
{
"report_date": "string (ISO date)",
"document_id": "string",
"vessel": {
"year": 0,
"make": "string",
"model": "string",
"type": "string",
"length_ft": 0.0,
"beam_ft": 0.0,
"draft_ft": 0.0 | null,
"engine": "string",
"horsepower": 0.0 | null,
"fuel_type": "string" | null,
"primary_use": "string" | null
},
"condition": {
"overall_score": 0.0,
"exterior_score": 0.0 | null,
"interior_score": 0.0 | null,
"systems_score": 0.0 | null,
"features_score": 0.0 | null,
"confidence": "string" | null
},
"estimated_value_usd": 0.0,
"value_range_usd": { "low": 0.0, "high": 0.0 },
"pricing_recommendations_usd": {
"quick_sale": 0.0,
"optimal_listing": 0.0,
"minimum_acceptable": 0.0
},
"improvement_potential_usd": { "low": 0.0, "high": 0.0 },
"location_environment": {
"region_guess": "string" | null,
"environment_type": "string" | null,
"climate_conditions": ["string"] | null,
"environmental_stressors": ["string"] | null,
"observed_wear": ["string"] | null
},
"notable_features": ["string"],
"trailer_included": true | false | null,
"critical_unknowns": ["string"] | null,
"market_analysis": {
"listings_analyzed": 0 | null,
"median_price_usd": 0.0 | null,
"price_range_usd": { "low": 0.0, "high": 0.0 } | null,
"top_region": "string" | null
},
"comparables": [
{
"year": 0 | null,
"make": "string" | null,
"model": "string" | null,
"price_usd": 0.0 | null,
"location": "string" | null,
"condition": "string" | null
}
],
"disclaimers": ["string"]
}
Sample Valuation Response (Full Example)
A realistic example of the full JSON your integration will receive after a valid request.
{
"report_date": "2025-10-01",
"document_id": "1981542",
"vessel": {
"year": 2018,
"make": "Monterey",
"model": "238SS Surf",
"type": "Bowrider",
"length_ft": 23,
"beam_ft": 8.5,
"draft_ft": null,
"engine": "Volvo Penta 300 V8 (I/O)",
"horsepower": 300,
"fuel_type": "Gasoline",
"primary_use": "Recreational"
},
"condition": {
"overall_score": 9.7,
"exterior_score": 9.8,
"interior_score": 9.7,
"systems_score": 9.8,
"features_score": 9.7,
"confidence": "very high"
},
"estimated_value_usd": 59760,
"value_range_usd": { "low": 52000, "high": 60000 },
"pricing_recommendations_usd": {
"quick_sale": 52000,
"optimal_listing": 59760,
"minimum_acceptable": 46800
},
"improvement_potential_usd": { "low": 0, "high": 250 },
"location_environment": {
"region_guess": "Southeastern USA, likely freshwater lake",
"environment_type": "Freshwater",
"climate_conditions": ["Warm","Humid","High UV exposure","Minimal freeze risk"],
"environmental_stressors": ["UV degradation","Organic staining","Humidity-related mildew","General freshwater wear"],
"observed_wear": ["Minor dust","Light soiling on deck and seating"]
},
"notable_features": [
"Wake tower","Integrated swim platform (surf-specific)","Premium audio system","Digital helm display","Adjustable captain's chair with bolster"
],
"trailer_included": true,
"critical_unknowns": [
"Minor dust/light soiling present","No safety gear visible for assessment"
],
"market_analysis": {
"listings_analyzed": 4,
"median_price_usd": 56249,
"price_range_usd": { "low": 48995, "high": 66700 },
"top_region": "California"
},
"comparables": [
{ "year": 2018, "make": "Monterey", "model": "238SS Surf", "price_usd": 59999, "location": "Graford, TX, USA", "condition": "Excellent" },
{ "year": 2018, "make": "Monterey", "model": "238SS Surf", "price_usd": 52499, "location": "Milledgeville, GA, USA", "condition": "Excellent" },
{ "year": 2018, "make": "Monterey", "model": "238SS Surf", "price_usd": 48995, "location": "Land O Lakes, FL, USA", "condition": "Excellent" },
{ "year": 2017, "make": "Monterey", "model": "238SS Surf", "price_usd": 66700, "location": "Las Vegas, NV, USA", "condition": "Excellent" }
],
"disclaimers": [
"Image-derived details may be inaccurate.",
"Estimated value is informational only.",
"Not a replacement for a full survey.",
"Default condition scores may apply if photos are insufficient."
]
}
Errors
HTTP Status Codes
| Code | Meaning |
|---|---|
| 200 | Success |
| 400 | Bad Request (e.g., missing required field) |
| 401 | Unauthorized (invalid/missing token) |
| 429 | Too Many Requests (rate limited) |
| 500 | Server Error (processing failure) |
Error Body
{
"error": {
"code": 400,
"message": "Missing required field: make",
"details": [{"field": "make", "issue": "required"}],
"request_id": "vw_2f8ab5e9"
}
}
Rate Limiting
Requests are limited per API key to ensure fair usage and service quality. If you exceed your allocation you will receive 429 Too Many Requests. Need higher throughput? Contact us.
PDF Reports
The report_url returned by /boat/pdf_report is time-limited (expires_at) and can be regenerated by re-posting the valuation JSON.
Security & Data Handling
- Transport: HTTPS required for all endpoints.
- Images: Provide images as public URLs; we read them transiently for processing.
- Storage: Valuation artifacts and PDFs may be cached; PDFs are served via expiring URLs.
- Auth: Bearer tokens per partner; rotate on compromise; least-privilege recommended.
Access, Keys & Support
To request credentials, staging access, or higher rate limits, email dev@wizzvalue.com.
Changelog
- v2 (current): /boat/valuation_complete, /boat/pdf_report; response updated to match published field contract.
- v1: Internal mobile-app endpoints only.