TargetWatch API
TargetWatch tracks analyst price targets for Nordic stocks and makes them available as Nordic equity data. Explore it on this site - the API gives you the same data programmatically. Everything is JSON over HTTPS.
Get a key
Create and manage your keys right here:
Authentication
Send your key as a Bearer token in the Authorization header:
curl -H "Authorization: Bearer YOUR-KEY" \ "https://www.targetwatch.io/api/v1/stocks"
Requests without a valid key return 401.
Plans and rate limits
| Free | API Plus | |
|---|---|---|
| Price | $0 | $1/month |
| Requests | 10 per day | 1,000 per hour |
| Access | Try it out: the full stock list plus current consensus for any ticker | Everything: all tickers, history, the recommendations feed, changes and analyst accuracy |
Upgrade to API Plus for $1/month in the key section above.
Every response includes your tier and rate-limit status:
X-API-Tier:freeorproX-RateLimit-Limit,X-RateLimit-Remaining,X-RateLimit-Reset
When the limit is exceeded you get 429 with a Retry-After header.
Free endpoints
/api/v1/stocks
FREE
All covered stocks. Available on every plan.
ROW FIELDS:
curl -H "Authorization: Bearer YOUR-KEY" \ "https://www.targetwatch.io/api/v1/stocks"
[
{
"ticker": "8TRA",
"stock": "Traton",
"market": "Stockholmsbörsen",
"list": "Large Cap",
"sector": "Industrials",
"industry": "Farm & Heavy Construction Machinery",
"country": "sweden",
"currency": "SEK"
},
...
]
/api/v1/stocks/{ticker}/targets
FREE
Current consensus for one stock: latest price, consensus target, upside, and the individual houses behind it. Available on every plan, for any ticker.
ROW FIELDS:
curl -H "Authorization: Bearer YOUR-KEY" \ "https://www.targetwatch.io/api/v1/stocks/VOLV-B/targets"
{
"ticker": "VOLV-B",
"stock": "Volvo",
"currency": "SEK",
"date": "2026-09-15",
"consensusTarget": 370,
"latestPrice": 337.8,
"latestPriceDate": "2026-09-17",
"upsidePct": 9.53,
"houses": [
{ "id": 33308, "house": "Jefferies", "priceTarget": 370, "date": "2026-09-15" }
]
}
API Plus endpoints
/api/v1/analysts
API PLUS
The analyst houses we track.
ROW FIELDS:
curl -H "Authorization: Bearer YOUR-KEY" \ "https://www.targetwatch.io/api/v1/analysts"
[
{ "slug": "abg-sundal-collier", "house": "ABG Sundal Collier" },
{ "slug": "aktiespararna", "house": "Aktiespararna" },
...
]
/api/v1/stocks/{ticker}/targets/history
API PLUS
Full price-target history for one stock. from and to are optional YYYY-MM-DD dates (inclusive). Items are newest first.
ROW FIELDS:
PARAMETERS:
curl -H "Authorization: Bearer YOUR-KEY" \ "https://www.targetwatch.io/api/v1/stocks/VOLV-B/targets/history?from=2026-01-01&to=2026-09-18"
[
{ "id": 33308, "house": "Jefferies", "priceTarget": 370, "currency": "SEK", "date": "2026-09-15" },
{ "id": 33192, "house": "Morgan Stanley", "priceTarget": 355, "currency": "SEK", "date": "2026-09-04" },
...
]
/api/v1/recommendations
API PLUS
The global feed of price targets, newest first, filterable by date range, house and ticker. Paginated - see below.
ROW FIELDS:
PARAMETERS:
curl -H "Authorization: Bearer YOUR-KEY" \ "https://www.targetwatch.io/api/v1/recommendations?from=2026-09-01&house=dnb-carnegie&limit=100"
{
"items": [
{
"id": 33368,
"ticker": "ORSTED",
"stock": "Ørsted",
"house": "ABG Sundal Collier",
"priceTarget": 180,
"currency": "DKK",
"date": "2026-09-18"
},
...
],
"total": 28610,
"nextCursor": "MTAw"
}
/api/v1/recommendations/{id}
API PLUS
One complete price-target record, including the source article link for provenance.
ROW FIELDS:
curl -H "Authorization: Bearer YOUR-KEY" \ "https://www.targetwatch.io/api/v1/recommendations/33368"
{
"id": 33368,
"ticker": "ORSTED",
"stock": "Ørsted",
"house": "ABG Sundal Collier",
"priceTarget": 180,
"currency": "DKK",
"date": "2026-09-18",
"link": "https://www.placera.se/telegram/dagens-aktierekommendationer-i-oversikt-20260918"
}
/api/v1/changes
API PLUS
New price targets published since a date, for polling. since is required (YYYY-MM-DD) and may look back at most 31 days - use /api/v1/recommendations for older history. Paginated like the feed.
ROW FIELDS:
PARAMETERS:
curl -H "Authorization: Bearer YOUR-KEY" \ "https://www.targetwatch.io/api/v1/changes?since=2026-09-12"
{
"items": [
{
"id": 33368,
"ticker": "ORSTED",
"stock": "Ørsted",
"house": "ABG Sundal Collier",
"priceTarget": 180,
"currency": "DKK",
"date": "2026-09-18"
},
...
],
"total": 12,
"nextCursor": "MTAw"
}
/api/v1/analysts/{house}/accuracy
API PLUS
Hit rate, direction accuracy, median error and per-sector breakdown for one house, from our rolling 365-day evaluation.
ROW FIELDS:
curl -H "Authorization: Bearer YOUR-KEY" \ "https://www.targetwatch.io/api/v1/analysts/dnb-carnegie/accuracy"
{
"house": "DNB Carnegie",
"slug": "dnb-carnegie",
"generatedAt": "2026-09-12",
"stats": {
"hitRate": 57.1,
"directionAccuracy": 51.4,
"medianError": 27.5,
"evaluableTargets": 2951,
"upTargets": 2612,
"upHitRate": 53.7,
"downTargets": 338,
"downHitRate": 83.4
},
"sectors": [
{ "sector": "Industrials", "evaluableTargets": 790, "hits": 491, "hitRate": 62.2 },
...
]
}
/api/v1/stocks/{ticker}/insider-trades
API PLUS
Insider transactions for one stock. The dataAsOf field shows the latest publication date in the dataset.
ROW FIELDS:
curl -H "Authorization: Bearer YOUR-KEY" \ "https://www.targetwatch.io/api/v1/stocks/VOLV-B/insider-trades"
{
"dataAsOf": "2026-05-22",
"total": 2,
"items": [
{
"ticker": "VOLV-B",
"stock": "Volvo",
"person": "Bo Annvik",
"role": "board_member",
"type": "buy",
"volume": 1757,
"price": 284.3,
"currency": "SEK",
"totalValue": 499515,
"publicationDate": "2025-11-27",
"transactionDate": "2025-11-27"
},
...
]
}
/api/v1/insider-trades
API PLUS
The global insider-trading feed, newest first, filterable by date range, ticker and type (buy or sell). Paginated like the recommendations feed.
ROW FIELDS:
PARAMETERS:
curl -H "Authorization: Bearer YOUR-KEY" \ "https://www.targetwatch.io/api/v1/insider-trades?type=buy&limit=100"
{
"items": [
{
"ticker": "CHEF",
"stock": "Cheffelo",
"person": "Adam Björklund",
"role": "management",
"type": "buy",
"volume": 1100,
"price": 119.6,
"currency": "SEK",
"totalValue": 131560,
"publicationDate": "2026-05-22",
"transactionDate": "2026-05-22"
},
...
],
"total": 2199,
"nextCursor": "MTAw"
}
Pagination
Feed endpoints (recommendations, changes, insider-trades) return at most limit items per call (default 100, max 500):
{ "items": [ ... ], "total": 7792, "nextCursor": "MTAw" }
Pass nextCursor back as cursor until it comes back null.
Errors
400- invalid parameter (bad date, cursor, limit, or asincebeyond 31 days)401- missing or invalid API key403- valid key, but the endpoint requires API Plus404- unknown ticker, house or recommendation id429- rate limit exceeded, seeRetry-After
License
The data is licensed for your internal use. You may build products, analysis and decisions on it. You may not redistribute the raw data, resell it, or expose it as a competing data service. Reach out if you need redistribution rights.
Changelog
- 2026-09-19 - Free tier reworked: any ticker on the free endpoints, 10 requests per day (previously demo ticker only, 60 per hour). API key management moved onto this page.
- 2026-09-18 - API v1: new endpoints under
/api/v1/, cursor pagination, date-range filtering, changes feed, analyst accuracy, insider trading endpoints. The legacyGET /api/recommendations(with?include=historyfor API Plus) is deprecated - it keeps working for existing integrations and sends aDeprecationheader, but use/api/v1/recommendationsfor anything new.