Bloomberg Quote / Market Data Scraper
Pricing
from $10.00 / 1,000 results
Bloomberg Quote / Market Data Scraper
Scrape Bloomberg quote pages (stocks, indexes, bonds, funds, commodities, FX). Extracts header price, Summary stats, chart price-movements for selected timeframes, Related News, and Index/Profile Info. Uses TLS impersonation to bypass PerimeterX — no proxy or browser needed.
Pricing
from $10.00 / 1,000 results
Rating
0.0
(0)
Developer
Farhan Febrian Nauval
Maintained by CommunityActor stats
0
Bookmarked
2
Total users
1
Monthly active users
3 days ago
Last modified
Categories
Share
Scrapes Bloomberg /quote/{TICKER} pages — stocks, indexes, bonds, funds, commodities, FX — without browser or login.
⚠️ Proxy Requirement
Residential proxy is REQUIRED. Bloomberg uses PerimeterX which reliably blocks Apify's datacenter IP ranges with an HTTP 403 "Are you a robot?" challenge. Without a residential proxy, every request will fail.
The actor input ships with a proxyConfiguration field pre-filled with useApifyProxy: true, apifyProxyGroups: ["RESIDENTIAL"] — leave it as-is, or plug in your own residential proxy provider. Apify Residential proxy is billed by GB of traffic — typical Bloomberg quote page ≈ 450 KB.
What it extracts
Single HTML fetch of the quote page parses __NEXT_DATA__ to produce:
- Header: name, ticker, security type/subtype, currency, exchange, price, change, % change, market status, last update
- Summary tab: day/52w range, volume, market cap, EPS, P/E, P/B, P/S, dividend, total returns
- Chart: price-movement time series for selectable timeframes (1D / 1M / 6M / YTD / 1Y / 5Y) — all six are embedded in the same page response, so picking fewer just trims output
- Info block (security-type aware):
index— description, source, members (when listed)company— description, address, website, sector, executives (stocks/ETFs)bond— security name, issuer, parent, maturity (bonds)fund— fund type, manager, expense ratio, NAV, top holdings (funds/ETFs)
- Related News — best-effort via Bloomberg's internal
/markets2/api/relatedNews/...endpoint. Tab is lazy-loaded on the website, so the news API is sometimes PerimeterX-blocked; when that happens, the field is an empty array withrelatedNewsErrorset.
Input
| Field | Type | Default | Notes |
|---|---|---|---|
urls | array of string | required | Quote URLs (e.g. https://www.bloomberg.com/quote/INDU:IND) |
timeframes | enum array | all six | Subset of 1D, 1M, 6M, YTD, 1Y, 5Y |
includeChart | bool | true | Set false to omit chart block (smaller output) |
includeRelatedNews | bool | true | Set false to skip the news API call |
includeIndexInfo | bool | true | Set false to omit the info block |
proxyConfiguration | object | { useApifyProxy: true, apifyProxyGroups: ["RESIDENTIAL"] } | Required. Residential proxy — datacenter IPs are blocked by Bloomberg PerimeterX. |
maxRetries | int | 3 | Per URL, rotates safari2601 → safari260 (fresh proxy session each retry) |
delayBetweenRequests | int | 2000 ms | Increase if hitting PerimeterX 403 |
Run locally
cd apify-actors/bloomberg-quote-scraperapify run --input '{"urls": ["https://www.bloomberg.com/quote/INDU:IND"]}'
Deploy
cd apify-actors/bloomberg-quote-scraperapify push