ls-tc APIls-tc.de ↗
Access live quotes, price history, instrument search, and trading hours from Lang & Schwarz TradeCenter via a structured JSON API. Covers stocks, ETFs, bonds, and more.
What is the ls-tc API?
The ls-tc.de API exposes 5 endpoints for retrieving instrument data from Lang & Schwarz TradeCenter, covering live quotes, historical price series, instrument search, and exchange trading hours. The get_stock_quote endpoint returns the current mid-price, absolute change, percentage change, and previous close for any instrument identified by its internal ID. search_instruments lets you resolve company names, ticker symbols, or ISINs into the instrument IDs used across all other endpoints.
curl -X GET 'https://api.parse.bot/scraper/6b78ed07-1097-42d2-b017-7ae30a6662ed/search_instruments?query=SAP' \ -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 ls-tc-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.
from parse_apis.lang_schwarz_tradecenter_api import LangSchwarz, Instrument, Quote, PriceHistory, TradingInfo, SeriesType
client = LangSchwarz()
# Search for instruments by name
for instrument in client.instruments.search(query="SAP"):
print(instrument.display_name, instrument.isin, instrument.category_name)
# Get a specific instrument and retrieve its live quote
sap = client.instrument(instrument_id=34313)
quote = sap.quotes.latest()
print(quote.current_price, quote.change, quote.change_percent)
# Retrieve historical price data
history = sap.prices.get(series=SeriesType.HISTORY)
print(history.series)
# Get DAX market overview
for etf in client.instruments.market_overview():
print(etf.display_name, etf.isin, etf.category_symbol)
# Get exchange trading hours
info = client.tradinginfos.get()
print(info.exchange, info.trading_hours, info.timezone)
Full-text search over instruments traded on Lang & Schwarz by name, ticker symbol, or ISIN. Returns matching results across all categories (stocks, ETFs, bonds, funds). Each result carries an instrumentId usable in quote and history endpoints.
| Param | Type | Description |
|---|---|---|
| queryrequired | string | Search keyword such as a company name, ticker symbol, or ISIN (e.g. 'SAP', 'DE0007164600'). |
{
"type": "object",
"fields": {
"results": "array of instrument objects with id, displayname, isin, wkn, instrumentId, categoryName, categorySymbol, link"
},
"sample": {
"data": {
"results": [
{
"id": 34313,
"url": 34313,
"wkn": 716460,
"isin": "DE0007164600",
"link": "/de/aktie/34313",
"alias": "",
"categoryid": 5,
"displayname": "SAP SE",
"categoryName": "Aktie",
"categorysort": 1,
"instrumentId": 34313,
"productcount": 76,
"categorySymbol": "STK"
}
]
},
"status": "success"
}
}About the ls-tc API
Instrument Search and Identification
All data retrieval on this API starts with search_instruments, which accepts a query parameter — a company name, ticker symbol, or ISIN such as DE0007164600. It returns an array of instrument objects each carrying id, displayname, isin, wkn, instrumentId, categoryName, categorySymbol, and a link. The instrumentId field is what you pass to the quote, price history, and market overview endpoints. Category metadata lets you distinguish between stocks, ETFs, certificates, and bonds without additional lookups.
Live Quotes and Price History
get_stock_quote takes an instrument_id and returns six fields: isin, current_price (latest mid-price in EUR), previous_close, change (absolute difference), change_percent, and timestamp_ms (Unix milliseconds of the latest tick). For time series data, get_price_history returns an object keyed by series name — you can request history, intraday, or intraday,history via the series parameter. Each named series contains a data array of [timestamp_ms, price] pairs, making it straightforward to plot or store.
Market Overview and Exchange Hours
get_market_overview returns a snapshot of DAX-related instruments — ETFs and index trackers — using the same instrument object shape as search_instruments. It requires no parameters and is useful for building watchlists or dashboards anchored to the DAX universe. get_trading_hours returns static exchange metadata: the exchange name, timezone, and weekday trading hours string for the Lang & Schwarz exchange.
The ls-tc API is a managed, monitored endpoint for ls-tc.de — not a raw scraper you maintain. Every endpoint is automatically health-checked on a schedule, and when ls-tc.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 ls-tc.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?+
- Track intraday price movements for a portfolio of German stocks using
get_price_historywith theintradayseries parameter. - Resolve an ISIN or WKN to an internal instrument ID via
search_instrumentsbefore fetching live quotes. - Build a DAX ETF watchlist by pulling instrument metadata from
get_market_overview. - Monitor daily gain/loss across positions by comparing
current_priceandprevious_closefromget_stock_quote. - Store end-of-day price history for backtesting using the
historyseries fromget_price_history. - Display exchange operating hours in a trading dashboard using
get_trading_hourswithout hardcoding timezone logic. - Filter instrument search results by
categoryNameto separate ETFs from bonds and certificates in a screener.
| 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 Lang & Schwarz TradeCenter offer an official developer API?+
What does `get_stock_quote` return and how current is the price?+
get_stock_quote returns current_price (mid-price in EUR), previous_close, change, change_percent, and timestamp_ms — the Unix millisecond timestamp of the latest available price tick. Freshness depends on market activity and is reflected in timestamp_ms; you can compare it against the current time to assess staleness.Does the price history endpoint support custom date ranges?+
get_price_history endpoint accepts a series parameter (history, intraday, or intraday,history) but does not currently expose start or end date filters — the returned range is determined by the series type. You can fork this API on Parse and revise the endpoint to add date range parameters if your use case requires bounded queries.Is order book depth or bid/ask spread data available?+
Are instruments outside Germany or the DAX universe supported?+
search_instruments searches across all instrument categories available on ls-tc.de — including stocks, ETFs, bonds, and certificates — and is not limited to German or DAX instruments. get_market_overview specifically returns DAX-related ETFs and index trackers, so non-DAX index overviews are not currently covered by that endpoint. You can fork this API on Parse and revise it to target other index or market segments.