v2.0 Production Ready

MonsterAuto Inventory Feed API

Production-grade vehicle data ingestion for Canadian dealerships

Quick Start
Endpoint
POST https://api.monsterauto.ca/v1/dealers/inventory
Authentication
X-Monster-Api-Key: YOUR_API_KEY

Get your API key from the dealer portal Feed Setup page

Example Request (cURL)
curl -X POST https://api.monsterauto.ca/v1/dealers/inventory \
  -H "Content-Type: application/json" \
  -H "X-Monster-Api-Key: YOUR_KEY_HERE" \
  -d '{
    "incremental": true,
    "vehicles": [
      {
        "vin": "1HGBH41JXMN109186",
        "make": "Honda",
        "model": "Accord",
        "year": 2022,
        "price": 28995,
        "odometer": 35000,
        "location_city": "Toronto",
        "location_province": "ON",
        "latitude": 43.6532,
        "longitude": -79.3832,
        "status": "Available"
      }
    ]
  }'
Required Fields (10 fields)
FieldTypeExampleNotes
vin
string
1HGBH41JXMN109186Must be unique per dealer
make
string
HondaManufacturer name
model
string
AccordModel name
year
integer
2022Model year
price
integer
28995CAD whole dollars (no decimals)
odometer
integer
35000Kilometres (also accepts "km", "mileage")
location_city
string
TorontoDealer city
location_province
enum
ON2-letter province code (AB, BC, ON, etc.)
latitude
number
43.6532Decimal degrees
longitude
number
-79.3832Decimal degrees
Optional Fields (Recommended for Quality Score)
Basic Details
  • trim - Model variant
  • exterior_colour - Paint color
  • interior_colour - Interior color
  • body_style - Sedan, SUV, etc.
Technical Specs
  • transmission - Automatic, Manual, CVT
  • engine - e.g., "2.0L Turbo"
  • drivetrain - FWD, RWD, AWD, 4WD
  • fuel_type - Gasoline, Hybrid, Electric, etc.
Marketing Content
  • description - Text description (150+ chars recommended)
  • photos - Array of URLs (max 40, HTTPS only)
  • features - Array of feature strings
Status & CPO
  • status - Available, Sold, On Hold
  • is_cpo - Boolean (Certified Pre-Owned)
Feed Modes: Incremental vs Full Replacement
Default

Incremental Mode

"incremental": true
  • Updates/inserts vehicles you send
  • Missing vehicles: NO ACTION (preserved)
  • Safest for frequent updates
Advanced

Full Replacement

"incremental": false
  • Updates/inserts sent vehicles
  • Missing vehicles: SOFT DISABLE (status → "On Hold")
  • Safety lock prevents mass deletion (>10 + >20% drop)
Field Mapping & Normalization
Price Normalization
"38995" → 38995
"38,995" → 38995 (commas removed)
"$38995" → 38995 ($ symbol removed)
38995.50 → 38996 (rounded to nearest dollar)
Odometer Aliases (all accepted)
Accepts: odometer, km, or mileage
Photos Validation
Only HTTPS URLs accepted
Maximum 40 images per vehicle
Invalid URLs automatically skipped (not fatal)
Empty array preserves existing photos
Features Auto-Normalization
"NAV" / "GPS" / "Navigation" → "Navigation System"
"Backup Cam" / "Rear Camera" → "Backup Camera"
"Heated Seats" / "Seat Heaters" → "Heated Seats"
...and 50+ more mappings
Response Codes
CodeMeaningAction Required
202
AcceptedFeed queued for processing. Check portal in 10-60s.
401
UnauthorizedMissing or invalid API key
403
ForbiddenDealer account must be 'live' or 'on_hold' status
413
Payload Too LargeMaximum 10MB per request
429
Rate Limit ExceededMax 60 requests/minute, 1000 requests/hour
Visibility & Security Rules
LIVE
Public Visibility
Vehicles appear in public search and customer-facing pages
ON HOLD
Private Testing
Vehicles visible to dealer + admin only. NOT public.Perfect for testing your feed before going live.
SUSPENDED / ONBOARDING
Feed Ingestion Blocked
API returns 403 Forbidden. Contact support to resolve.
Uniqueness & Upsert Logic
Same VIN sent again: Updates existing vehicle (never creates duplicate)
New VIN: Creates new vehicle record
Locked attributes: Fields manually edited by dealer cannot be overwritten by feed
Complete Example Payload (3 Vehicles)
{
  "incremental": true,
  "vehicles": [
    {
      "vin": "1HGBH41JXMN109186",
      "make": "Honda",
      "model": "Accord",
      "trim": "EX-L",
      "year": 2022,
      "price": 28995,
      "odometer": 35000,
      "exterior_colour": "Crystal Black Pearl",
      "interior_colour": "Black Leather",
      "transmission": "Automatic",
      "engine": "2.0L Turbo",
      "drivetrain": "FWD",
      "fuel_type": "Gasoline",
      "body_style": "Sedan",
      "description": "One-owner Honda Accord with full service history.",
      "photos": [
        "https://example.com/accord_front.jpg",
        "https://example.com/accord_interior.jpg"
      ],
      "features": ["Heated Seats", "Sunroof", "Backup Camera"],
      "status": "Available",
      "location_city": "Toronto",
      "location_province": "ON",
      "latitude": 43.6532,
      "longitude": -79.3832,
      "is_cpo": false
    },
    {
      "vin": "5UXCR6C0XL9C25123",
      "make": "BMW",
      "model": "X5",
      "trim": "xDrive40i",
      "year": 2021,
      "price": 54995,
      "odometer": 42000,
      "status": "Available",
      "location_city": "Mississauga",
      "location_province": "ON",
      "latitude": 43.5890,
      "longitude": -79.6441,
      "is_cpo": true
    },
    {
      "vin": "3VWDX7AJ9CM654321",
      "make": "Volkswagen",
      "model": "Jetta",
      "year": 2023,
      "price": 24500,
      "odometer": 18000,
      "status": "Sold",
      "location_city": "Ottawa",
      "location_province": "ON",
      "latitude": 45.4215,
      "longitude": -75.6972
    }
  ]
}
Questions? Email support@monsterauto.ca or contact your account manager.
HomeShopSell
Scout
MonsterAuto AI

👋 Hi, I'm Scout!

MonsterAuto's AI shopping assistant. Ask me about finding the right vehicle, financing, trade-ins, delivery, deposits, order tracking, or buying online.

Try asking

Powered by MonsterAuto AI

·