Investing.com Indices All-in-One: Prices, History & Technicals
Pricing
from $5.00 / 1,000 index data
Investing.com Indices All-in-One: Prices, History & Technicals
One scraper for everything about a stock market index on Investing.com (S&P 500, Nasdaq, DAX, FTSE...): live value, historical prices, technical analysis, news, related indices and the indices listing of any country. 32 languages, any currency.
Pricing
from $5.00 / 1,000 index data
Rating
0.0
(0)
Developer
Pinto Studio
Maintained by CommunityActor stats
0
Bookmarked
2
Total users
1
Monthly active users
11 hours ago
Last modified
Categories
Share
Get indices data from Investing.com: prices, history and more. Choose exactly what you need, in 32 languages and in any currency.
What you can get
Pick one or more options in "What do you want to get?" (dataToGet):
| Option | Name | What you get |
|---|---|---|
overview | Quote & overview | Current price, change, day range, 52-week range, volume, market cap, P/E, EPS, dividend yield, performance (1 day to all time) and a buy/sell summary. |
historical | Historical prices | Daily, weekly or monthly prices (open, high, low, close, volume, change %) between two dates. |
technical | Technical analysis | Indicators (RSI, MACD, ...), moving averages (5 to 200) and pivot points, with buy/sell signals. |
news | Latest news | Latest news articles about it (title, summary, link, date, source). |
related | Related instruments | Other instruments people also watch, with their price and change. |
market_listing | MARKET: listing of a country | Every index of a country, with price, change, volume, performance and fundamentals. |
How to use it (no code needed)
- Open the actor on Apify and go to the Input tab.
- In "Indices to look up", type what you want, one per line, for example:
SPX,Nasdaq 100. - In "What do you want to get?", tick the data you need.
- (Optional) choose a Language and a Currency.
- Click Start.
- When it finishes, open the Output tab. You can download the results as JSON, CSV, Excel or view them as a table.
Input fields
| Field | What it does | Example |
|---|---|---|
instruments | Index symbols (SPX), names (S&P 500, DAX) or investing.com links. One per line. | ["SPX", "Nasdaq 100"] |
country | Optional. Use it when the same symbol exists in more than one country. A country name or a 2-letter code. | "united states" or "US" |
dataToGet | What you want. Pick one or more of the options in the table above. | ["overview", "historical"] |
language | Language of names, descriptions and news (32 languages). | "en", "pt-br", "de", "ja" |
currency | Optional. Show prices in another currency. local = the currency of the chosen language's country. Empty = the instrument's own currency. | "EUR", "BRL", "local" |
historicalFrom / historicalTo | Dates for historical prices. Empty = the last 30 days. | "2026-01-01" |
historicalInterval | daily, weekly or monthly. | "daily" |
historicalOrder | asc (oldest first) or desc (newest first). | "asc" |
splitHistoricalRows | true saves every day as its own row: best for Excel/CSV. | false |
technicalInterval | Timeframe of the technical analysis: 1m, 5m, 15m, 30m, 1h, 5h, 1d, 1w, 1mo or all. | "1d" |
marketCountry | Country for the MARKET options. | "US", "germany" |
marketLimit | Maximum number of rows for the MARKET options (up to 2000). | 100 |
proxyType | ours (default): our proxy, included in the price. own: use your own proxy. | "ours" |
ownProxyUrls | Your proxy URLs, only used when proxyType is own. | ["http://user:pass@host:port"] |
Example inputs
1. Prices and history
{"instruments": ["SPX","Nasdaq 100"],"dataToGet": ["overview","historical"],"historicalFrom": "2026-01-01","historicalTo": "2026-06-30","country": "united states"}
2. In Portuguese, prices in Brazilian reais
{"instruments": ["DAX"],"dataToGet": ["overview","news"],"language": "pt-br","currency": "BRL"}
3. Market data (no list needed)
{"dataToGet": ["market_listing"],"marketCountry": "US","marketLimit": 100}
Market options return one row per item (e.g. one row per stock), so they look like a normal table.
What the results look like
Every result is one item in the dataset. For the indices you typed, you get one item per index and per option:
| Field | Meaning |
|---|---|
input | What you typed |
dataType | Which option this item is (overview, historical, ...) |
instrument | The index that was found: name, symbol, link, and how it was found |
language | Language of the texts |
currency | Currency of the prices in this item |
meta | Extra details, e.g. the exchange rate used when you asked for another currency |
data | The data itself |
error | null, or the reason this item failed (the other items still work) |
Example (shortened):
{"input": "SPX","dataType": "overview","instrument": {"kind": "indices","slug": "us-spx-500","cid": null,"url": "https://www.investing.com/indices/us-spx-500","found_by": "list (symbol)","id": "166","name": "S&P 500","symbol": "SPX","country": "united states","currency": "USD","other_matches": 0},"language": "en","currency": "USD","meta": {"currency": "USD","native_currency": "USD"},"data": {"id": "166","kind": "indices","slug": "us-spx-500","type": "index","name": "S&P 500","short_name": "S&P 500","symbol": "SPX","url": "https://www.investing.com/indices/us-spx-500","isin": null,"is_open": false,"is_crypto": false,"exchange": {"id": "1","code": "NYSE","name": "New York Stock Exchange","country": "United States","flag": "US"},"price": {"last": 7743.41,"previous_close": 7743.5,"open": 7709.86,"high": 7752.07,"low": 7693.08,"change": 39.28,"change_percent": 0.51,"bid": 7741.5,"ask": 7742.16,"currency": "USD","decimals": 2,"delayed": false,"updated_at": "2026-09-25T19:59:59+00:00"},"range_52_weeks": {"low": 6316.91,"high": 7816.7},"...": "6 more fields"},"error": null}
Call it from your code
Replace YOUR_API_TOKEN with your token (Apify Console → Settings → Integrations)
and pintostudio with your Apify username.
Using the API (runs the actor and returns the results in one call):
curl -X POST "https://api.apify.com/v2/acts/pintostudio~investing-com-indices/run-sync-get-dataset-items?token=YOUR_API_TOKEN" \-H "Content-Type: application/json" \-d '{"instruments": ["SPX"], "dataToGet": ["overview"]}'
Python (pip install apify-client):
from apify_client import ApifyClientclient = ApifyClient("YOUR_API_TOKEN")run = client.actor("pintostudio/investing-com-indices").call(run_input={"instruments": ["SPX", "Nasdaq 100"],"dataToGet": ["overview"],})for item in client.dataset(run["defaultDatasetId"]).iterate_items():print(item["input"], item["dataType"], item["data"])
JavaScript (npm install apify-client):
import { ApifyClient } from 'apify-client';const client = new ApifyClient({ token: 'YOUR_API_TOKEN' });const run = await client.actor('pintostudio/investing-com-indices').call({instruments: ["SPX", "Nasdaq 100"],dataToGet: ['overview'],});const { items } = await client.dataset(run.defaultDatasetId).listItems();console.log(items);
Proxy
Investing.com blocks many IPs, so every request goes through a proxy. You have two options in Proxy (proxyType):
| Option | What happens | Who pays for the proxy |
|---|---|---|
| Our proxy (default) | Requests go through our proxy. Nothing to set up. | Included in the event price, no extra cost. |
| My own proxy | Requests go through the proxy URLs you add in Your proxy URLs (ownProxyUrls). Several URLs are rotated. | You, directly to your proxy provider. The actor price stays the same. |
Apify Proxy is not used by this actor, so it never adds proxy usage to your Apify bill. If you choose My own proxy without adding a URL, the run stops with a clear message.
Pricing
You only pay for what you get (pay per event). Items that fail are never charged.
| Event | Price | When |
|---|---|---|
| Actor start | $0.00005 | Once per run |
| Index data | $0.005 | Each index × option (overview, historical, technical, news, related) |
| Market row | $0.0005 | Each row of the indices listing of a country |
Examples: overview of 20 indices ≈ $0.10 · 10 years of daily history for the S&P 500 ≈ $0.005 · all indices of a country (200 rows) ≈ $0.10. Historical prices are charged once per index, no matter how many days you ask for. Set a maximum cost per run and the actor stops cleanly when it is reached. Tip: ask for several indices and options in one run, it is faster than many small runs.
Good to know
- Not sure what to type? Paste the link of the index from investing.com. It always works.
- Currency: prices are converted with the live exchange rate. Historical prices,
dividends, earnings and financial statements use the rate of each date.
Percentages, ratios and volumes are never converted. The item's
metashows the rate used. - Language: changes names, descriptions and news. Numbers stay the same.
- Errors: if one index or option fails, you get an item with an
errorexplaining why, and everything else still runs. - Proxy: see Proxy above. By default you do not need to do anything.