Overview

Public, read-only endpoints for locations, fleet, availability, and quotes.
Requests accept European dates (DD-MM-YYYY) via pick_up_date and delivery_date. Responses keep current field names as implemented (e.g. pickup_date / return_date in ISO).

Base URL
https://alfarentacar.ro
Agents & search engines can auto-discover this API via: Link: <https://alfarentacar.ro/.well-known/openapi.json>; rel="service-desc"
GET

/api/v1/locations

List fixed pickup/return locations.

Query params
Name Type Required Description
q string No Optional free-text filter
cURL
Copycurl -s https://alfarentacar.ro/api/v1/locations | jq .
Response (example)
Copy{
  "items": [
    {
      "id": "clj_airport",
      "name": "Cluj-Napoca International Airport",
      "iata_code": "CLJ",
      "address": {
        "street": "Str. Traian Vuia 149",
        "city": "Cluj-Napoca",
        "region": "Cluj",
        "postal_code": "400397",
        "country_code": "RO"
      },
      "timezone": "Europe/Bucharest"
    }
  ]
}
GET

/api/v1/cars

List car models; if dates are provided, includes computed total and availability hint.

Query params
Name Type Req Description
car_id string No Filter by model id
pick_up_date string DD-MM-YYYY No Pickup date
delivery_date string DD-MM-YYYY No Return date
category string No economy|compact|suv|minivan|premium
transmission string No manual|automatic
ac boolean No Air conditioning
cURL (with dates)
Copycurl -s "https://alfarentacar.ro/api/v1/cars?pick_up_date=03-11-2025&delivery_date=20-11-2025" | jq .
Response item (example)
Copy{
  "id": "40",
  "make": "Seat",
  "model": "Ibiza",
  "category": "economy",
  "year": null,
  "seats": null,
  "doors": null,
  "luggage_small": null,
  "luggage_large": null,
  "transmission": null,
  "ac": true,
  "fuel_type": null,
  "features": ["usb","abs","esp"],
  "images": [
    { "url": "https://alfarentacar.ro/uploads/cars/big/40-seat-ibiza-s1.webp", "alt": "Seat Ibiza exterior" }
  ],
  "lead_price": {
    "pickup_date": "2025-11-03",
    "return_date": "2025-11-20",
    "currency": "EUR",
    "price_per_day": 26,
    "total_price": 442,
    "availability_hint": "in_stock"
  },
  "jsonld": {
    "@context": "https://schema.org",
    "@type": "Car",
    "brand": "Seat",
    "model": "Ibiza"
  }
}
GET

/api/v1/cars/{car_id}

Get full details for one model.

cURL
Copycurl -s https://alfarentacar.ro/api/v1/cars/108 | jq .
Response (example)
Copy{
  "id":"108",
  "make":"VW",
  "model":"Passat",
  "year":null,
  "category":"premium",
  "category_label_ro":"Family | Business",
  "seats":null,
  "doors":null,
  "luggage_small":null,
  "luggage_large":null,
  "transmission":null,
  "ac":true,
  "fuel_type":null,
  "features":["bluetooth","abs","esp","parking_sensors"],
  "images":[
    {"url":"https://alfarentacar.ro/uploads/cars/big/108-vw-passat-b7-automat.webp","alt":"VW Passat exterior"}
  ],
  "description":"Here comes the car description",
  "included":["Asigurare RCA","Asistență rutieră 24/7","Kilometraj 200 km/zi"],
  "policies":{
    "mileage_policy":"200 km/zi incluse; 0.15 EUR/km după",
    "fuel_policy":"La fel ca la preluare",
    "deposit_amount":200,
    "age_requirement":"Șofer 21+ ani, permis 2+ ani",
    "cancellation_policy":"Gratuit până la 24h înainte de preluare",
    "terms_url":"https://alfarentacar.ro/termeni-si-conditii"
  },
  "base_price":{"currency":"EUR","price_per_day":35},
  "extras":[],
  "links":{
    "self":"https://alfarentacar.ro/api/v1/cars/108",
    "availability":"https://alfarentacar.ro/api/v1/availability?car_id=108",
    "quote":"https://alfarentacar.ro/api/v1/quote"
  },
  "jsonld":{
    "@context":"https://schema.org",
    "@type":"Car",
    "brand":"Volkswagen",
    "model":"Passat"
  }
}
GET

/api/v1/availability

Check precise availability for a model in a date range.

Query params
Name Type Req Description
car_id string Yes Model id
pick_up_date string DD-MM-YYYY Yes Pickup date
delivery_date string DD-MM-YYYY Yes Return date
cURL
Copycurl -s "https://alfarentacar.ro/api/v1/availability?car_id=108&pick_up_date=03-11-2025&delivery_date=20-11-2025" | jq .
Response (example)
Copy{
  "car_id": "108",
  "pickup_date": "2025-11-03",
  "return_date": "2025-11-20",
  "available": true,
  "remaining_units": 2,
  "notes": "Available to reserve",
  "jsonld": {
    "@context": "https://schema.org",
    "@type": "Offer",
    "itemOffered": { "@type": "Car", "brand": "Volkswagen", "model": "Passat" },
    "availability": "https://schema.org/InStock"
  }
}
POST

/api/v1/quote

Calculate final price for a rental. Extras are optional and priced per day.

Request body
Name Type Req Description
car_id string Yes Model id
pick_up_date string DD-MM-YYYY Yes Pickup date
delivery_date string DD-MM-YYYY Yes Return date
pickup_time string HH:MM No Optional
return_time string HH:MM No Optional
currency string No Default EUR
extras object (map) No e.g. {"gps":1,"child_seat":2}
cURL
Copycurl -s -X POST https://alfarentacar.ro/api/v1/quote 
  -H "Content-Type: application/json" 
  -d '{"car_id":"88","pick_up_date":"03-11-2025","delivery_date":"20-11-2025"}' | jq .
Response (example)
Copy{
  "car_id": "88",
  "pickup_date": "2025-11-03",
  "return_date": "2025-11-20",
  "rental_days": 17,
  "currency": "EUR",
  "price_per_day": 37,
  "base_total": 629,
  "extras_total": 0,
  "total_price": 629,
  "breakdown": [
    { "label": "Base", "detail": "37 × 17 zile / days", "amount": 629, "currency": "EUR" }
  ]
}
Error examples
{
  "error": "bad_request",
  "message": "car_id, pick_up_date and delivery_date are required (DD-MM-YYYY)."
}
{
  "error": "conflict",
  "message": "Car not available for the requested interval."
}

Contact & Terms

Support: office@alfarentacar.ro

Terms: https://alfarentacar.ro/termeni-si-conditii

Dacia Sandriders on the podium in Argentina: The Romanian team remains world leader in W2RC after Desafio Ruta 40

2026-06-02 01:23:52

Dust, Rubber Wedges and a Strategic Podium: Dacia Sandriders Remains at the Top of the World after Desafio Ruta 40 The first and only visit of the Dacia Sandriders team to Arg...

Lamborghini postpones Lanzador electric model and bets on hybrids

2026-06-01 00:08:25

Emergency brake for electrification: Lamborghini boss explains why delaying the Lanzador model is the 'right decision' At a time when the global automotive industry is going t...

Dacia Sandriders, on the podium in Desafío Ruta 40: Al-Attiyah in 2nd place overall, after stages 3 and 4

2026-05-31 15:53:44

Dacia Sandriders Besiege the Podium in Argentina: Spectacle, Abandonment and a Difference of Only 7 Seconds in Desafío Ruta 40 The Desafío Ruta 40 Rally in Argentina is prov...

Lancia Gamma returns after 42 years: Premium crossover with hybrid and electric engines of up to 375 HP

2026-05-28 10:00:57

The new Lancia Gamma returns after four decades as a premium crossover After a 42-year absence from the global automotive landscape, the legendary Lancia Gamma name officially...