End-of-Day Prices

marketstack.eod
ActionBusiness appsconnection required

Calls the Marketstack API with the connection's credentials.

Fetch historical end-of-day price bars for one or more tickers.

Connection

Required
Yes — the node will not save without one
Auth type
API key
Providers
Marketstack
Secret shape
the API access key, or {"access_key": "…"}
Config it needs
base_url
Resolved by
config.connection_id, else node.connection_id

Configuration

7 fields, 1 required. A dotted path is a nested object and name[] an array of objects — the editor renders the same tree.

FieldTypeRequiredDefaultConstraintsExample
symbols
One ticker symbol, or several separated by commas. Each symbol counts as one request against your Marketstack plan.
stringYes——AAPL,MSFT
exchange
Only return rows from this stock exchange, named by its MIC code such as XNAS. Leave blank to let Marketstack pick each symbol's primary exchange.
stringNo——XNAS
sort
The order the rows come back in, by date. Marketstack sorts newest first.
stringNoDESCone of "DESC", "ASC"—
date_from
Only return rows dated on or after this day, written as 2026-01-31.
stringNo——2026-01-31
date_to
Only return rows dated on or before this day, written as 2026-02-28.
stringNo——2026-02-28
limit
How many rows to return in one page. Marketstack's maximum is 1000.
numberNo1001–1000—
offset
How many rows to skip before the page starts, when paging a large result set.
numberNo00–1000000—

Example configuration

Every value below is the contract’s own example or default — nothing invented.

{
  "date_from": "2026-01-31",
  "date_to": "2026-02-28",
  "exchange": "XNAS",
  "limit": 100,
  "offset": 0,
  "sort": "DESC",
  "symbols": "AAPL,MSFT"
}

Output

One shape.

result

FieldTypeExample
items
The rows on this page, exactly as Marketstack returned them.
array—
count
How many rows are on this page.
number—
total
How many rows match the request in total.
number—
limit
The page size Marketstack applied.
number—
offset
The offset Marketstack started this page at.
number—
items[].symbol
The ticker symbol this bar belongs to.
string—
items[].exchange
The exchange the bar was collected from.
string—
items[].date
The bar's UTC date and time, in ISO-8601 format.
string—
items[].open
The raw opening price.
number—
items[].high
The raw high price.
number—
items[].low
The raw low price.
number—
items[].close
The raw closing price.
number—
items[].volume
The raw traded volume.
number—
items[].adj_close
The closing price adjusted for splits and dividends.
number—
items[].adj_volume
The volume adjusted for splits and dividends.
number—
items[].split_factor
The split factor applied to the adjusted prices.
number—
items[].dividend
The dividend paid on this date, if any.
number—
items[].price_currency
The currency the prices are quoted in.
string—
{
  "count": 0,
  "items": [
    {
      "adj_close": 0,
      "adj_volume": 0,
      "close": 0,
      "date": "",
      "dividend": 0,
      "exchange": "",
      "high": 0,
      "low": 0,
      "open": 0,
      "price_currency": "",
      "split_factor": 0,
      "symbol": "",
      "volume": 0
    }
  ],
  "limit": 0,
  "offset": 0,
  "total": 0
}

See End-of-Day Prices run in a workflow.

In a technical demo we add the Marketstack connection, drop the node on the canvas and let Workflow Health pre-flight it before the first real run.