There is no package to install
No client library is published for this API, in any language, and none is planned. A wrapper would be more code than the calls it wraps: three read-only endpoints, no authentication, no headers to sign, and a response shape that is JSON whether the call succeeds or fails.
That also means there is nothing that can fall behind the contract. Whatever you generate or write is built from the OpenAPI document, which is produced from the same source the API is served from, so it describes what the endpoints actually do rather than what they did at the last release.
Generate a typed client
Point a generator at https://e-vignettes.eu/openapi.json. It is a valid OpenAPI 3.1 document with a unique operationId, typed parameters and a response schema on every operation, so openapi-generator, Kiota, oapi-codegen and the rest consume it without hand-editing.
Nullable fields are declared as nullable: a product's vehicle_type is null on section tolls, which are priced per crossing rather than per vehicle class. A generator that honours the schema will produce an optional type there.
Or call it directly
Three requests cover the whole catalogue. GET /api/v1/countries lists the nine covered countries with their toll operator; GET /api/v1/countries/at returns one country's full toll rules; GET /api/v1/products?country=at&type=vignette returns live prices, with the government price and the service fee as separate fields. No key, no header, and CORS is open, so a browser can call them directly.
Failures are JSON too, never an HTML error page, and always the same shape: a stable code, a human message, a hint naming what to change, the HTTP status and a documentation URL. Branch on the code rather than on a message string that may be reworded — whatever you generate or write, that is the one thing worth wrapping.
The quota is 240 requests per 60 seconds per IP address, and every response carries RateLimit-Policy and RateLimit so a client can self-throttle. The reference lists the codes with their meanings and the rate-limit headers with their format.
MCP, for agents
Agents that speak the Model Context Protocol need no client at all: https://e-vignettes.eu/mcp exposes the same catalogue as four tools over Streamable HTTP, unauthenticated. The manifest is discoverable at /.well-known/mcp.json.
Ordering runs on the partner API
Nothing on this origin can issue a vignette. Creating an order, validating a vehicle, cancelling or modifying one and receiving webhooks all run on the authenticated partner API on vignette.id, which has its own reference documentation, its own sandbox and its own MCP server. Start there rather than from anything on this page.