Home/How to Add Vehicles
For Dealers

Add vehicles to X2Bikes

Four ways to get your stock onto the site, from adding vehicles one at a time to a fully automated feed that keeps your listings in sync around the clock.

1

Option 1: Add vehicles yourself

Recommended for day-to-day stock management

  1. Register as a dealer and wait for admin approval. You will receive an email when your account is verified.
  2. Sign in and open the Dealer Dashboard.
  3. Click Add Vehicle and fill in the make, model, year, mileage, price, fuel type, transmission and body type.
  4. Add a description, features, location and a main photo link.
  5. Submit the listing. Approved dealers' listings go live once approved by our team, and you can edit or mark them Sold at any time from My Listings.
2

Option 2: Send us a CSV file

Best for bulk onboarding

  1. Download the CSV template from the CSV import tool in the Dealer Dashboard, or upload your own spreadsheet.
  2. Fill in one row per vehicle. The essential columns are make, model, year, mileage, price, fuel_type, transmission and body_type.
  3. Include a stock reference (external_id) if you use one. When a row with the same reference is imported again, it updates your existing listing instead of creating a duplicate.
  4. Drag and drop the file into the import tool. You will see a preview of your vehicles and any row-level errors before anything is imported.
  5. Import. Imported vehicles are queued for the standard approval process, and a summary shows how many were imported successfully.

Useful columns include:

  • •make, model, variant — vehicle identity
  • •year — e.g. 2021
  • •reg_plate — e.g. AB21 CDE (optional)
  • •mileage — in miles
  • •price — asking price in GBP
  • •fuel_type — e.g. Petrol, Diesel, Electric, Hybrid
  • •transmission — Manual, Automatic or Semi-Automatic
  • •body_type — e.g. Naked, Sports, Tourer, Adventure
  • •colour, engine_size, horsepower, num_owners (optional)
  • •service_history — Full, Partial or None
  • •description — full advert text
  • •thumbnail_url — a link to your main photo
  • •features — separate multiple with |
3

Option 3: Automated XML or CSV feed

Set and forget ongoing stock sync

  1. Many dealer management systems and stock platforms can publish your stock as an XML file or a CSV at a fixed web address.
  2. In the Dealer Dashboard, open Feeds and click Add Feed.
  3. Choose XML or CSV as the feed type, give it a name and paste your feed URL.
  4. Pick how often it should run: hourly, every 6 hours, daily, weekly, or manual only.
  5. Enable the feed. On each run X2Bikes fetches the feed, adds new vehicles, updates changed ones, and marks listings that have disappeared from the feed as inactive rather than deleting them.
  6. The feed page shows the last run time, the status, and a summary such as 12 inserted, 3 updated, 1 failed, so you always know your stock is in sync.

Standard dealer-management-system exports are supported. Flexible field mapping means common feed formats work out of the box — if your export uses different tag or column names, just get in touch and we will help map them.

4

Option 4: API (for developers and supplier systems)

Push stock directly from your own software

  1. Create an API feed in the Feeds section of the Dealer Dashboard. X2Bikes generates a personal API key for that feed.
  2. Keep the key secret. You can regenerate it at any time; the old key stops working immediately.
  3. Push vehicles as JSON to the ingestion endpoint below. Send an array of vehicles, or an object with a vehicles array, to push many in one call (up to 500 per request).
  4. Every request is validated server-side before a listing is created, and the response tells you exactly how many vehicles were inserted, updated or rejected.

Endpoint

POST https://fast-squid-791.api.macaly.app/api/feeds/ingest
x-api-key: YOUR_API_KEY

Example request

curl -X POST https://fast-squid-791.api.macaly.app/api/feeds/ingest \
  -H "Content-Type: application/json" \
  -H "x-api-key: YOUR_API_KEY" \
  -d '{
    "vehicles": [{
      "externalId": "STOCK-1234",
      "make": "Ford",
      "model": "Focus",
      "variant": "ST-Line",
      "year": 2021,
      "mileage": 24000,
      "price": 14995,
      "fuelType": "Petrol",
      "transmission": "Manual",
      "bodyType": "Naked",
      "colour": "Magnetic Grey",
      "regPlate": "AB21 CDE",
      "description": "Immaculate condition, one owner from new.",
      "thumbnailUrl": "https://example.com/motorbike.jpg",
      "features": ["Air Conditioning", "Parking Sensors", "Bluetooth"]
    }]
  }'

Request body fields:

FieldRules
externalIdrequired — your stock reference. Sending the same externalId again UPDATES that vehicle instead of creating a duplicate
make, modelrequired
yearrequired number, e.g. 2021
mileagerequired number, in miles
pricerequired number, in GBP
fuelTyperequired — Petrol, Diesel, Electric, Hybrid, PHEV, Mild Hybrid, Hydrogen or LPG
transmissionrequired — Manual, Automatic or Semi-Automatic
bodyTyperequired — Naked, Sports, Tourer, Sports Tourer, Cruiser, Adventure, Scooter, Off-Road, Classic or Other
variant, regPlate, colour, engineSize, horsepoweroptional strings/numbers
serviceHistoryoptional — Full, Partial or None
descriptionoptional — full advert text
thumbnailUrloptional — a link to your main photo. Only use images you have permission to use
featuresoptional array of strings

Responses

{ "inserted": 1, "updated": 0, "failed": 0 }   HTTP 200 on success
HTTP 200 with a failed count and errors array when some rows are rejected
401 invalid or missing API key
403 feed is disabled or not an API feed
413 more than 500 vehicles in one push

Keys are per feed. Regenerating your key revokes the old one instantly.

Which one should you use?

1-2 vehicles to listthe dealer dashboard (Option 1)
Moving your whole stockCSV file (Option 2)
Automated ongoing syncXML/CSV feed (Option 3)
Your own software or dev teamAPI (Option 4)

Questions about any option? Contact us and we will help you choose the right route.