Discover/offenevergaben API
live

offenevergaben APIoffenevergaben.at

Access Austrian public procurement contracts, contracting authorities, suppliers, and CPV categories via 7 structured endpoints from offenevergaben.at.

Endpoint health
verified 3d ago
list_contracting_authorities
get_contracting_authority_detail
get_contract_detail
list_suppliers
list_categories
7/7 passing latest checkself-healing
Endpoints
7
Updated
18d ago

What is the offenevergaben API?

The offenevergaben.at API provides structured access to Austrian public procurement data across 7 endpoints, covering contracts, suppliers, contracting authorities, and CPV industry categories. Use list_contracts to retrieve paginated contract summaries filtered by CPV code, NUTS region, notice type, date range, or keyword, and get_contract_detail to pull full contract fields including supplier, authority, contract type, and award value for any specific record.

Try it
CPV category code from list_categories (e.g. 45000000).
Region NUTS codes comma-separated (e.g. AT130,AT342).
Page number.
Notice types comma-separated (Ausschreibung, Auftrag).
Keyword search for title, authority, or supplier.
End date in YYYY-MM-DD format.
Start date in YYYY-MM-DD format.
Date field to filter by (e.g. date_lastmod).
Maximum contract volume.
Maximum number of bidders.
Minimum contract volume.
Minimum number of bidders.
Contract types comma-separated (Bauauftrag, Dienstleistungsauftrag, Lieferauftrag).
api.parse.bot/scraper/b2b0b0ae-7c24-4687-a8eb-28ec166d41ed/<endpoint>
Ready to send
Fill in the parameters and hit sign in to send to see live response data here.
Call it over HTTPgrab a free API key at signup
curl -X GET 'https://api.parse.bot/scraper/b2b0b0ae-7c24-4687-a8eb-28ec166d41ed/list_contracts?page=1&search=Bauarbeiten' \
  -H 'X-API-Key: $PARSE_API_KEY'
Python SDK · recommended

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 offenevergaben-at-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: OffeneVergaben SDK — Austrian public procurement data, bounded."""
from parse_apis.OffeneVergaben_at_API import OffeneVergaben, NotFoundError_

client = OffeneVergaben()

# Browse CPV categories to find construction sector volume.
for cat in client.categories.list(limit=5):
    print(cat.code, cat.bezeichnung, cat.auftragsvolumen)

# Search contracts filtered by keyword for construction work.
contract = client.contract_summaries.list(search="Bauarbeiten", limit=1).first()
if contract:
    print(contract.bezeichnung, contract.auftraggeber, contract.summe)

    # Drill into full contract details via the summary's navigation op.
    detail = contract.details()
    print(detail.art_des_auftrags, detail.verfahrensart, detail.beschreibung)

# List top contracting authorities by volume, then inspect one.
authority_summary = client.authority_summaries.list(limit=1).first()
if authority_summary:
    authority = authority_summary.details()
    print(authority.name, authority.gesamtvolumen, authority.durchschnittliche_bieter)
    for c in authority.contracts[:2]:
        print(c.bezeichnung, c.summe)

# List top suppliers and fetch one's awarded contracts.
supplier_summary = client.supplier_summaries.list(limit=1).first()
if supplier_summary:
    supplier = supplier_summary.details()
    print(supplier.name, supplier.gesamtvolumen)
    for c in supplier.contracts[:2]:
        print(c.bezeichnung, c.auftraggeber)

# Typed error handling: attempt to fetch a non-existent contract.
try:
    client.contracts.get(id="9999999")
except NotFoundError_ as exc:
    print(f"Not found: {exc.id}")

print("exercised: categories.list / contract_summaries.list / details / authority_summaries.list / supplier_summaries.list / contracts.get")
All endpoints · 7 totalmissing one? ·

Fetch a paginated list of public contracts with optional filters. Returns 20 contracts per page sorted by last modification date descending. Supports filtering by keyword search, notice type, date range, contract type, volume range, bidder count, CPV code, and NUTS region.

Input
ParamTypeDescription
cpvstringCPV category code from list_categories (e.g. 45000000).
nutsstringRegion NUTS codes comma-separated (e.g. AT130,AT342).
pageintegerPage number.
typesstringNotice types comma-separated (Ausschreibung, Auftrag).
searchstringKeyword search for title, authority, or supplier.
date_tostringEnd date in YYYY-MM-DD format.
date_fromstringStart date in YYYY-MM-DD format.
date_typestringDate field to filter by (e.g. date_lastmod).
volume_tonumberMaximum contract volume.
tenders_tointegerMaximum number of bidders.
volume_fromnumberMinimum contract volume.
tenders_fromintegerMinimum number of bidders.
contract_typesstringContract types comma-separated (Bauauftrag, Dienstleistungsauftrag, Lieferauftrag).
Response
{
  "type": "object",
  "fields": {
    "page": "integer, current page number",
    "items": "array of contract summary objects with id, bezeichnung, auftraggeber, lieferant, bieter, summe, aktualisiert",
    "total_pages": "integer, total number of available pages"
  },
  "sample": {
    "data": {
      "page": 1,
      "items": [
        {
          "id": "285054",
          "summe": "",
          "bieter": "",
          "lieferant": "",
          "bezeichnung": "Wien 4., Belvederegasse ONr. 2-42 - Wasserrohrauswechslung",
          "aktualisiert": "10.06.2026",
          "auftraggeber": "Magistrat der Stadt Wien - Magistratsabteilung 31"
        }
      ],
      "total_pages": 11554
    },
    "status": "success"
  }
}

About the offenevergaben API

Contract Search and Filtering

The list_contracts endpoint returns 20 contracts per page, sorted by last modification date descending. It accepts filters for CPV category codes (from list_categories), NUTS region codes as a comma-separated list (e.g. AT130,AT342), notice types (Ausschreibung for tender, Auftrag for award), a date range via date_from / date_to in YYYY-MM-DD format, and a search keyword matched against title, authority, and supplier. Each item in the items array includes the contract id, bezeichnung (title), auftraggeber (authority), lieferant (supplier), bieter (bidder count), summe (value), and aktualisiert (last modified date).

Contract and Entity Detail

get_contract_detail accepts a contract id and returns structured fields: Bezeichnung, Auftraggeber, Lieferant, Art des Auftrags, and more. Field availability varies by contract type and data availability — some records carry richer structured data than others. get_contracting_authority_detail and get_supplier_detail each return an entity profile alongside their contract history, total volume (gesamtvolumen), and contract count (anzahl_auftraege). The authority profile also exposes durchschnittliche_bieter, the average number of bidders per contract.

Suppliers, Authorities, and Categories

list_suppliers and list_contracting_authorities both return paginated lists sorted by total contract volume descending. Each item includes an id, name, national_id, anzahl_auftraege, and gesamtvolumen. Use these IDs as inputs to the respective detail endpoints. list_categories requires no inputs and returns all CPV division codes with German-language names (bezeichnung), aggregate volume (auftragsvolumen), and contract count (anzahl_auftraege) — useful for scoping searches by industry sector before querying list_contracts with a cpv filter.

Reliability & maintenanceVerified

The offenevergaben API is a managed, monitored endpoint for offenevergaben.at — not a raw scraper you maintain. Every endpoint is automatically health-checked on a schedule, and when offenevergaben.at 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 offenevergaben.at 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.

Last verified
3d ago
Latest check
7/7 endpoints passing
Maintenance
Monitored & self-healing
Will this API break when the source site changes?+
It's built not to. Every endpoint is health-checked on a schedule with automated test probes. When the source site changes and a check fails, the API is automatically queued for repair and re-verified — that's the self-healing layer. Each API page shows when its endpoints were last verified. And because marketplace APIs are shared, any fix reaches everyone using it.
Is this an official API from the source site?+
No — Parse APIs are independent, managed REST wrappers over publicly available data. That is the point: where a site has no official API (or only a limited one), Parse gives you a maintained, monitored endpoint for that data and keeps it working as the site changes — so you get a stable contract over a source that never promised one.
Can I fix or extend this API myself if I need a new endpoint or field?+
Yes — and you don't have to wait on us. This API was generated by the Parse agent, which stays attached. Describe the change in plain English ("add an endpoint that returns reviews", "fix the price field") in the revise box on the API page or via the revise_api MCP tool, and the agent rebuilds it against the live site in minutes. Contributing the change back to the public API is free.
What happens if I call an endpoint that has an issue?+
Errors are machine-readable: a bad call returns a clean status with the list of available endpoints and a repair hint, so an agent (or you) can recover or trigger a fix instead of failing silently. Confirmed failures feed the automatic repair queue.
Common use cases
  • Monitor new public tenders in a specific Austrian region by filtering list_contracts with NUTS codes and date_from
  • Track a supplier's total awarded contract volume and history using get_supplier_detail
  • Identify which contracting authorities award the most contracts by total volume via list_contracting_authorities
  • Analyze government spending by CPV sector using list_categories volume and count fields
  • Retrieve full contract details including supplier and authority for a specific procurement record via get_contract_detail
  • Build a competitive intelligence tool showing which suppliers win contracts in a given CPV category
  • Cross-reference bidder counts (bieter) and award values (summe) across authority profiles to spot procurement patterns
Pricing & limitsSee full pricing →
TierPriceCredits/monthRate limit
Free$0/mo1005 req/min
Hobby$30/mo1,00020 req/min
Developer$100/mo5,000100 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.

Frequently asked questions
Does offenevergaben.at offer an official developer API?+
offenevergaben.at does not publish an official developer API or documented public data feed. This Parse API is the structured programmatic interface for accessing its procurement data.
How does contract filtering work in `list_contracts`, and can I combine multiple filters?+
Yes. The list_contracts endpoint accepts multiple optional parameters simultaneously: cpv (CPV division code), nuts (comma-separated NUTS region codes), types (comma-separated notice types such as Ausschreibung or Auftrag), date_from / date_to with date_type to scope by date field, and search for keyword matching against title, authority, or supplier. All are optional and combinable. Results are always paginated at 20 items per page.
Are all fields guaranteed to be present in `get_contract_detail` responses?+
No. The contract detail endpoint notes that available fields vary depending on contract type and data source. Some records carry a fuller set of structured fields while others may only return a subset. Applications consuming this endpoint should handle missing or null fields gracefully.
Does the API expose document downloads or tender specification files attached to contracts?+
Not currently. The API covers contract metadata, authority and supplier profiles, and CPV category aggregates, but does not return links to or contents of tender specification documents. You can fork this API on Parse and revise it to add an endpoint that retrieves document attachment data.
Does the API cover procurement data outside Austria?+
Not currently. Coverage is limited to Austrian public procurement records indexed on offenevergaben.at, with regions identifiable via Austrian NUTS codes. You can fork this API on Parse and revise it to point at other national procurement portals for additional country coverage.
Page content last updated . Spec covers 7 endpoints from offenevergaben.at.
Related APIs in Government PublicSee all →
evergabe-online.de API
Search and retrieve public tender opportunities from Germany's e-Vergabe platform by keywords, contract types, CPV codes, and publication dates. Access detailed tender information and discover the latest procurement opportunities across construction and other sectors.
doffin.no API
Search for public procurement tenders across Norway and retrieve detailed information about bidding opportunities, including tender specifics, CPV category codes, and location data. Stay informed about government contracts and procurement notices from the official Norwegian national database.
vergabe.rib.de API
Search and retrieve tender information, award notices, and EU prior information from the RIB eVergabe platform to stay updated on procurement opportunities and contract awards. Get detailed tender specifications and the latest news to monitor bidding opportunities and market developments.
tenders.gov.uk API
Search and access UK government public procurement notices, tenders, and contract opportunities in real-time, with the ability to retrieve detailed notice information and browse standardized classification codes. Get comprehensive procurement data in structured formats to analyze tender patterns and find relevant contracting opportunities.
pncp.gov.br API
Search and retrieve detailed information about Brazil's public procurement contracts, including bidding results, price registries, and annual contracting plans from the official PNCP portal. Monitor government procurement activities by looking up specific contracts, procurement processes, and procurement records all in one place.
portaltransparencia.gov.br API
Search and analyze Brazilian government spending, including public expenses, contracts, civil servant salaries, benefits, travel records, and sanctions data. Track government transparency information by department, budget programs, and public tenders all in one place.
zppa.org.zm API
Search and browse open tenders in Zambia's public procurement system, view detailed tender information and procurement plans, and stay updated with the latest procurement news from the Zambia Public Procurement Authority. Get real-time access to current opportunities and historical procurement data to find relevant government contracts and bidding information.
buy.nsw.gov.au API
Search and retrieve NSW Government tender opportunities and contract notices from buy.nsw, including detailed information about available opportunities, supplier hubs, and procurement categories. Filter opportunities by category and discover top procurement deals in real-time to stay informed about potential business contracts with the NSW Government.