Knowledge Base/On the free Basic plan, when can I pull the previous trading day's data?

On the free Basic plan, when can I pull the previous trading day's data?

On Massive's free Stocks Basic plan, a trading day's bars are available after midnight ET, once that day is no longer the current day; before then a request for that day returns HTTP 403, and the 11:00 AM ET time in the flat-file documentation applies to flat files, not to the REST API.

A daily screener or overnight job on Massive's free Stocks Basic plan should run after 12:00 AM ET, not after the 4:00 PM ET close. The Basic plan does not include the current trading day at any hour, so the evening after the close is still too early: even a request made at 11:54 PM ET for that day's grouped daily bars is refused. You do not have to wait until the next morning either.

Applies to

  • Plans: Stocks Basic, the free tier, which the documentation lists as end-of-day. Options Basic, Indices Basic and Currencies Basic are documented as end-of-day too. Stocks Starter and above include the current day: 15-minute delayed on Starter and Developer, real-time on Advanced.
  • Endpoints or feeds: the stock aggregates endpoints, such as grouped daily (/v2/aggs/grouped/locale/us/market/stocks/{date}), custom bars (/v2/aggs/ticker/{ticker}/range/...) and the daily ticker summary (/v1/open-close/{ticker}/{date}).
  • Asset classes: stocks.

When the previous trading day's data is available on Stocks Basic

On Stocks Basic, the previous trading day's bars can be requested after midnight Eastern Time. The custom bars, grouped daily and daily ticker summary documentation lists the recency of Stocks Basic as "End-of-day": the plan serves past trading days but not the current one, and the current day changes at midnight ET. So Monday's daily bar, minute bars and grouped daily bars are refused all through Monday evening and can be requested from just after midnight, at the start of Tuesday in Eastern Time.

The stock trading day is over well before midnight ET, after-hours trading included. The stocks overview gives the sessions as pre-market from 4:00 AM to 9:30 AM ET, regular hours to 4:00 PM ET and after-hours to 8:00 PM ET, so by the time Stocks Basic serves a day, no trading for that day is still to come.

Why the 11:00 AM ET time does not apply to Stocks Basic

The 11:00 AM ET time in Massive's documentation is for flat files, which Stocks Basic does not include. The flat files quickstart says "Data for each trading day is available by approximately 11:00 AM ET the following day", and the stocks flat files overview says the same of the finalized daily datasets. Neither sentence is about the REST API, so a Basic job that waits until 11:00 AM ET for the previous day's bars waits about 11 hours longer than it needs to.

How to pull the previous trading day's data on Stocks Basic

  1. Schedule the job a few minutes after 12:00 AM ET. A job scheduled in another time zone should follow Eastern Time, including the change to and from daylight saving time.
  2. Request the previous trading day by its date, and end any date range on that date rather than on the current day. On a Monday the previous trading day is the Friday before, and after a market holiday it is the last day the market was open; Does Massive have a market holiday or status page? shows how to list the closures ahead of time.
  3. Run the request once, rather than polling for it. Stocks Basic allows 5 requests a minute, and an earlier request will not get the day any sooner.

Grouped daily returns one daily bar per US stock for the date you give it. The request below asks for Monday 19 October 2026, a date Stocks Basic can request from midnight ET at the start of Tuesday 20 October 2026:

curl -X GET "https://api.massive.com/v2/aggs/grouped/locale/us/market/stocks/2026-10-19?adjusted=true&apiKey=YOUR_API_KEY"

Response from a plan that includes the current day, trimmed to one of the 12,638 rows:

{
  "queryCount": 12638,
  "resultsCount": 12638,
  "adjusted": true,
  "results": [
    {
      "T": "AAPL",
      "v": 34573181.500186,
      "vw": 343.0361,
      "o": 340.775,
      "c": 342.94,
      "h": 346,
      "l": 340.115,
      "t": 1792440000000,
      "n": 670892
    }
  ],
  "status": "OK"
}

The grouped daily response holds one daily bar per stock for 19 October 2026. t is in milliseconds: 1792440000000 is 4:00 PM ET on 19 October 2026, the end of that day's regular session.

Why this happens

Stocks Basic is Massive's end-of-day tier, so its recency is measured in calendar days in Eastern Time rather than in hours after the close. A trading day stays the current day until midnight ET, and the current day is what the paid tiers add: 15-minute delayed on Stocks Starter and Developer, real-time on Stocks Advanced. If you need a day's bars before midnight, for example right after the 4:00 PM ET close, that needs Stocks Starter or above.

If you see an error

{"status":"NOT_AUTHORIZED","message":"Your plan doesn't include this data timeframe..."} with HTTP 403 on Stocks Basic, for a request for the current day in Eastern Time, means the day has not reached the Basic plan yet. Fix: request it again after 12:00 AM ET. The same request for an earlier date returns data, which confirms the cause.

HTTP 429 with You've exceeded the maximum requests per minute means more than 5 requests in a minute on a Basic plan. Fix: run the request once after midnight ET rather than retrying it; see What is the request limit for Massive's RESTful APIs?.

Related


Was this article helpful?

Modernizing Wall St.

Reimagining financial market data for the 21st century.

Schedule a demo

Talk with our market data experts

Recommended

Can't find the answer you're looking for? Contact our team.
  • Title
    Are all indices available through the basic subscription tier?
    Data Coverage Category

    Data Coverage

    Indices Category

    Indices

    Description
    No, and the ones it withholds are the famous ones: SPX, DJI, RUT and VIX all need a paid Indices tier. Basic still reaches more than 10,000 of the 13,000-odd indices Massive publishes, and NDX and the Nasdaq Composite are among them.
  • Title
    Does Massive offer dark pool data?
    Data Coverage Category

    Data Coverage

    Stocks Category

    Stocks

    Description
    Yes. Off-exchange prints, which include dark pool executions, arrive on the ordinary trades feed and are identified by an exchange ID of 4. There is no separate dark pool endpoint, and no way to tell which individual venue a print came from.
  • Title
    Does Massive offer pre-market and after-hours data?
    FAQ Category

    FAQ

    Stocks Category

    Stocks

    Description
    Yes. Every extended-hours trade and quote is published, from 04:00 to 20:00 Eastern. There is no session parameter, so you select a session with timestamps, and expect far fewer aggregate bars outside regular hours because many extended-hours trades are odd lots that cannot set a price.