The TradeScout API
One endpoint, behind a key you create yourself in your profile. You get the calculations TradeScout performs on public sources — not resold price data.
Last built on 2026-09-25 · 430 funds
Creating a key
Log in to TradeScout, go to Profile → API keys and create one. You see the key once; after that the server keeps only a hash of it, so it cannot be retrieved again. Three per account at most, and you can revoke them at any time.
Send it as a header, never in the URL — query strings end up readable in server logs.
The request
GET https://trade-scout.nl/api/export
Authorization: Bearer ts_jouwsleutel
Parameters
format | json (default) or csv. CSV comes as a file, with a dot as the decimal separator. |
lang | nl · en · de · fr · es |
Language of the messages
Field names and error codes are always English — that is what a script reads. The human-readable messages follow your Accept-Language header, or ?lang= if you send one. Supported: nl, en, de, fr, es. Without a preference you get English.
The response
{
"app": "tradescout-export",
"version": 2,
"built": "2026-09-04T02:31:20Z",
"notice": "…",
"count": 226,
"rows": [
{
"symbol": "KO",
"name": "Coca-Cola Company",
"currency": "USD",
"sector": "Consumer Defensive",
"dividend_yield_pct": 2.87,
"risk_free_rate_pct": 4.19,
"yield_spread_pct": -1.32,
"annual_share_count_change_pct": -0.31,
"shareholder_yield_pct": 3.18
}
]
}
A missing value is null, not 0. A fund without regulatory filings does not have a share count of zero, and that difference disappears the moment someone calculates with it.
The fields
| Field | Meaning |
|---|---|
symbol | Ticker in Yahoo form: KO, ASML.AS. |
name | Full name of the company. |
currency | Quote currency, as an ISO code. |
sector | Sector as the source names it; in English. |
dividend_yield_pct | Dividend yield as a percentage, at the current price. |
risk_free_rate_pct | The ten-year rate in the same currency: euro AAA government bonds (ECB) or US Treasuries (FRED). |
yield_spread_pct | Dividend yield minus that rate. Negative means a government bond pays more. |
annual_share_count_change_pct | Change in share count per year, as a percentage. Negative is buybacks, positive is dilution. |
shareholder_yield_pct | Dividend plus buybacks combined: what a shareholder gets back per year excluding price movement. |
Errors
| HTTP | Code | Meaning |
|---|---|---|
401 | unauthorized | Missing or unknown key. The response contains no data at all — not even counts. |
503 | not_ready | The nightly build has not finished or failed. An empty list would pass as an answer here; 503 is more honest. |
Examples
curl -H "Authorization: Bearer ts_jouwsleutel" \
https://trade-scout.nl/api/export
curl -H "Authorization: Bearer ts_jouwsleutel" \
-o funds.csv https://trade-scout.nl/api/export?format=csv
import urllib.request, json
req = urllib.request.Request("https://trade-scout.nl/api/export")
req.add_header("Authorization", "Bearer ts_jouwsleutel")
data = json.load(urllib.request.urlopen(req))
# fondsen waar het dividend de tienjaarsrente verslaat
for rij in data["rows"]:
if (rij["yield_spread_pct"] or 0) > 0:
print(rij["symbol"], rij["yield_spread_pct"])
In n8n: an HTTP Request node, method GET, and under Headers one line Authorization with value Bearer ts_…. Same in Postman, or Auth type “Bearer Token”.
What is deliberately not included
No raw prices or historical series. Those come from a free source, and showing them on a reading page is not the same as redistributing them through an API. What you get here is the calculated work.
Read-only. Changing your portfolio through the API is not possible yet: it lives in your browser, and there first has to be an answer to what happens when a script and a tab write at the same time.
Terms
Free to use, including commercially, with attribution to trade-scout.nl. Not investment advice and no guarantee of accuracy: these are derived figures from public sources, which can be wrong or out of date. One request per day is enough — the figures change only once a night.
To TradeScout · All stocks · All ETFs · About this platform · Privacy