onvista APIonvista.de ↗
Access knock-out certificates, instrument search, and major index quotes from onvista.de via a clean JSON API with 4 endpoints.
What is the onvista API?
The onvista.de API exposes 4 endpoints covering German derivatives data, instrument search, and live market overviews drawn from onvista.de. The get_knockout_list endpoint returns paginated knock-out certificates filterable by direction (Long/Short), issuer, and K.O.-Schwelle thresholds. Response objects include ISIN, WKN, strike, gearing, and underlying details — the core fields needed to screen and compare structured products programmatically.
curl -X GET 'https://api.parse.bot/scraper/4ea9fae3-875c-4620-89a6-e7017087e553/get_knockout_list?page=0&sort=knockOutAbs&type=Long&order=ASC&per_page=10&underlying_type=INDEX&underlying_value=20735' \ -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 onvista-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: onvista.de API — knockout certificates & market data."""
from parse_apis.onvista_de_api import (
Onvista, KnockoutSort, KnockoutDirection, Sort, InstrumentNotFound
)
client = Onvista()
# Market overview — current prices for major indices and assets.
for instrument in client.marketinstruments.list(limit=5):
print(instrument.name, instrument.price, instrument.change_pct)
# Search for an instrument by name to find its entity_value.
dax = client.instrumentsummaries.search(query="DAX", limit=1).first()
if dax:
print(dax.name, dax.isin, dax.entity_value)
# List knockout certificates filtered by direction and sorted by spread.
for cert in client.knockoutcertificates.list(
sort=KnockoutSort.SPREAD,
order=Sort.ASC,
type=KnockoutDirection.LONG,
limit=3,
):
print(cert.name, cert.isin, cert.ko_schwelle, cert.gearing)
# Drill into a single certificate's full details.
cert = client.knockoutcertificates.list(
sort=KnockoutSort.GEARING_ASK, order=Sort.DESC, limit=1
).first()
if cert:
try:
detail = cert.details()
print(detail.instrument.name, detail.quote.last, detail.derivativesFigure.spread)
except InstrumentNotFound as exc:
print(f"Instrument gone: {exc.entity_value}")
print("exercised: marketinstruments.list / instrumentsummaries.search / knockoutcertificates.list / cert.details")
Get paginated list of Knock-Out certificates with sorting and filtering options. Returns certificates matching the given criteria sorted by the specified field. Pagination is zero-based. When filtering by underlying, both underlying_type and underlying_value must be provided together.
| Param | Type | Description |
|---|---|---|
| page | integer | Page number (zero-based). |
| sort | string | Field to sort by. |
| type | string | Direction filter. |
| order | string | Sort direction. |
| per_page | integer | Results per page. |
| id_issuer | string | Filter by issuer ID (e.g. 53881 for BNP Paribas). |
| ko_schwelle_max | number | Maximum K.O.-Schwelle value filter. |
| ko_schwelle_min | number | Minimum K.O.-Schwelle value filter. |
| underlying_type | string | Underlying instrument type (e.g. INDEX, STOCK). Must be used together with underlying_value. |
| underlying_value | string | Underlying instrument ID (e.g. 20735 for DAX). Must be used together with underlying_type. |
{
"type": "object",
"fields": {
"page": "integer, current page number",
"total": "integer, total number of matching certificates",
"results": "array of KnockoutCertificate objects",
"per_page": "integer, results per page"
},
"sample": {
"data": {
"page": 0,
"total": 746497,
"results": [
{
"ask": null,
"bid": 0.63,
"wkn": "BY5ATV",
"isin": "DE000BY5ATV3",
"last": 0.63,
"name": "UNLIMITED TURBO LONG AUF ASTRAZENECA PLC",
"type": "CALL",
"issuer": "BNP Paribas",
"spread": null,
"strike": 1301377.11,
"gearing": null,
"maturity": null,
"ko_schwelle": 1301377.11,
"datetime_last": "2026-06-10T15:29:18.851+00:00",
"id_instrument": "331285136",
"underlying_isin": "GB0009895292",
"underlying_name": "AstraZeneca"
}
],
"per_page": 50
},
"status": "success"
}
}About the onvista API
Knock-Out Certificate Data
get_knockout_list returns a paginated array of knock-out certificates with fields including wkn, isin, name, issuer, ko_schwelle, strike, underlying_name, and underlying_isin. You can filter by type (Long or Short), id_issuer (e.g. 53881 for BNP Paribas), and K.O.-Schwelle range via ko_schwelle_min / ko_schwelle_max. Sorting is supported on knockOutAbs, gearingAsk, or spread in either ASC or DESC order. Pagination is zero-based via the page parameter; the response includes total and per_page so you can walk all pages.
Instrument Detail and Search
get_knockout_detail accepts an entity_value (the id_instrument from list or search results) and returns a structured snapshot: a quote object with bid, ask, last, high, low, and performancePct; an instrument object with entityType, isin, wkn, name, and displayType; a derivativesFigure object with gearing, spread, premium, and moneyness; a derivativesDetails object covering exercise right, settlement type, and category; and a derivativesUnderlyingList object with barrier and underlying instrument data.
search_instruments accepts a free-text query (name, WKN, or ISIN) plus an optional limit and returns matched instruments with name, isin, wkn, entity_value, and display_type across all asset classes including stocks, indices, ETFs, futures, and derivatives.
Market Overview
get_market_overview takes no parameters and returns an array of major market instruments from the onvista.de homepage. Each object carries name, isin, wkn, entity_value, price, change_pct, and datetime — suitable for building a quick-glance dashboard of DAX, S&P 500, and other tracked indices.
The onvista API is a managed, monitored endpoint for onvista.de — not a raw scraper you maintain. Every endpoint is automatically health-checked on a schedule, and when onvista.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 onvista.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?+
- Screen knock-out certificates by gearing or spread to identify candidates for short-term derivatives strategies
- Filter Long vs. Short knock-outs from a specific issuer within a defined K.O.-Schwelle range
- Look up full derivative details — including moneyness and barrier info — for a known ISIN or WKN
- Build a market dashboard displaying live prices and daily performance for major indices
- Resolve a WKN or name to an entity_value for downstream detail lookups using search_instruments
- Monitor bid/ask spreads and gearing across knock-out products to track intraday derivative conditions
- Combine search results with get_knockout_detail to enrich a watchlist with live quote snapshots
| 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.