Avis APIavis.de ↗
Access Avis Germany rental location data, vehicle fleet listings, and current promotions via 6 structured API endpoints. Covers station details, hours, and coordinates.
What is the Avis API?
The Avis Germany API covers 6 endpoints that expose rental station data, fleet information, and promotional offers from avis.de. Use search_locations_autocomplete to find stations by city name or airport code, then drill into any result with get_location_details to retrieve street address, phone number, opening hours keyed by German day names, and precise coordinates. Fleet specs and current promotions are also available without any search input.
curl -X GET 'https://api.parse.bot/scraper/a3068b1e-1434-4a24-8803-b4994a266611/search_locations_autocomplete?query=Frankfurt' \ -H 'X-API-Key: $PARSE_API_KEY'
Typed, relational, agent-ready
A generated client with real types, enums, and the links between objects — the structure a flat JSON response can't carry. Autocompletes in your editor and reads cleanly to coding agents.
- Fully typed · autocompletes
- Objects link to objects
- Typed errors & pagination
Typed Python client. Set up the SDK in your uv project, then pull this API’s typed client:
uv add parse-sdk uv run parse init uv run parse add --marketplace avis-de-api
uv run parse add --marketplace pulls a pinned snapshot of this canonical API — it won’t change underneath you. To customize it, subscribe and swap to your own copy.
"""Walkthrough: Avis Germany API — search locations, get details, browse fleet."""
from parse_apis.avis_germany_api import AvisGermany, CountrySlug, LocationNotFound
client = AvisGermany()
# Search for locations near Frankfurt — limit caps total items fetched.
for loc in client.locationsummaries.search(query="Frankfurt", limit=3):
print(loc.name, loc.code, loc.city)
# Drill into the first result's full details via the navigation op.
summary = client.locationsummaries.search(query="München", limit=1).first()
if summary:
detail = summary.details()
print(detail.name, detail.phone, detail.address.city)
# Fetch a location directly by station code.
try:
fra = client.locations.get(code="FRA")
print(fra.name, fra.opening_hours)
except LocationNotFound as exc:
print(f"Station not found: {exc.code}")
# Browse cities with Avis branches in Germany.
for city in client.cities.list(country_slug=CountrySlug.DEUTSCHLAND, limit=5):
print(city.name, city.url)
# List branches in a city via the sub-resource.
city = client.cities.list(limit=1).first()
if city:
for branch in city.branches.list(limit=3):
print(branch.name, branch.url)
# Check current offers and available vehicles.
for offer in client.offers.list(limit=3):
print(offer.title, offer.url)
for vehicle in client.vehicles.list(limit=3):
print(vehicle.name, vehicle.category, vehicle.example_car)
print("exercised: locationsummaries.search / summary.details / locations.get / cities.list / city.branches.list / offers.list / vehicles.list")
Search for Avis rental locations by name, city, or airport code. Returns matching stations with coordinates and basic details. Paginates as a single page; all matches for the query are returned at once.
| Param | Type | Description |
|---|---|---|
| queryrequired | string | Search query such as a city name or airport code (e.g. 'Frankfurt', 'FRA', 'München'). |
{
"type": "object",
"fields": {
"locations": "array of location objects each containing name, code, city, country, latitude, longitude, and is_24hrs"
},
"sample": {
"data": {
"locations": [
{
"city": "Frankfurt",
"code": "FRA",
"name": "Flughafen Frankfurt am Main Terminal 1 - Deutschland",
"country": "Deutschland",
"is_24hrs": true,
"latitude": 50.051389,
"longitude": 8.586389
}
]
},
"status": "success"
}
}About the Avis API
Location Search and Station Details
The search_locations_autocomplete endpoint accepts a query string — a city name like München or an airport code like FRA — and returns an array of matching stations, each with a code, name, city, country, latitude, longitude, and an is_24hrs boolean. To get the full record for one station, pass its code to get_location_details, which returns an address object (with street, city, postcode, and country), a phone field, coordinates, and an opening_hours object that maps German day names to time ranges.
Browsing Locations by Geography
If you want to enumerate stations rather than search by query, get_locations_by_country returns a list of German cities with Avis locations, each containing a name and url. Note that the endpoint currently returns German locations only, regardless of the country_slug value supplied. Pass one of those city URLs to get_locations_by_city to get every branch in that city, returned as an array of objects with name and url.
Fleet and Offers
get_vehicle_list returns vehicle group objects from the Avis Germany fleet, each carrying a name, category, example_car, description, and specs. No search parameters are required. Similarly, get_current_offers takes no inputs and returns the current promotions listed on the Avis Germany offers page, each as a title and url. Both endpoints reflect the current state of the public-facing site.
The Avis API is a managed, monitored endpoint for avis.de — not a raw scraper you maintain. Every endpoint is automatically health-checked on a schedule, and when avis.de changes and a check fails, the API is automatically queued for repair and re-verified. It is built to keep working as the site underneath it changes.
This isn't an official avis.de API — it's an independent, maintained REST wrapper over public data. Where the source has no official API (or only a limited one), Parse gives you a stable contract over a source that never promised one, and keeps it current. Need a new endpoint or field? You can revise it yourself in plain English and the agent rebuilds it against the live site in minutes — contributing the change back to the shared API is free.
Will this API break when the source site changes?+
Is this an official API from the source site?+
Can I fix or extend this API myself if I need a new endpoint or field?+
What happens if I call an endpoint that has an issue?+
- Map every Avis station in a German city using coordinates from
search_locations_autocomplete - Build a trip-planning tool that shows station opening hours and 24-hour availability near an airport code
- Generate a structured directory of Avis Germany branches by iterating
get_locations_by_countryandget_locations_by_city - Populate a fleet comparison table using vehicle
category,example_car, andspecsfromget_vehicle_list - Monitor current Avis Germany promotions by polling
get_current_offersand alerting on new offer titles - Enrich travel booking apps with station phone numbers and full street addresses via
get_location_details
| Tier | Price | Credits/month | Rate limit |
|---|---|---|---|
| Free | $0/mo | 100 | 5 req/min |
| Hobby | $30/mo | 1,000 | 20 req/min |
| Developer | $100/mo | 5,000 | 100 req/min |
One credit = one API call regardless of which marketplace API you call. Exceeding the rate limit returns a 429 response. Authenticate with the X-API-Key header.
Does Avis Germany have an official developer API?+
What does `get_location_details` return beyond what `search_locations_autocomplete` provides?+
search_locations_autocomplete returns summary fields: name, code, city, country, latitude, longitude, and is_24hrs. get_location_details adds the full address object (street, postcode), a phone number, and an opening_hours object keyed by German day names with the time range for each day.Does `get_locations_by_country` support countries other than Germany?+
country_slug value passed. The API covers Avis Germany (avis.de) specifically. You can fork this API on Parse and revise it to target Avis sites for other countries if you need international coverage.Can I retrieve real-time vehicle availability or rental pricing for a specific date and location?+
get_vehicle_list and station metadata, but does not expose availability calendars or rental price quotes. You can fork this API on Parse and revise it to add an endpoint that fetches date-specific availability or pricing data.Are there any known limitations with the `get_locations_by_city` endpoint?+
get_locations_by_country — you cannot construct the URL freehand or pass a city name directly. The response contains branch name and url only; for address and hours you need to follow up with get_location_details using the station code.