Why can you not glue intraday bars onto daily history?
A tempting design: build a long daily series from /eod, then splice recent intraday bars onto the end for detail. It works for a while. Then a stock splits and your chart falls off a cliff — or worse, it does not, and a number in your report is wrong by a factor of ten.
The missing field
Compare the two response schemas. /eod/{ticker} returns date, open, high, low, close, adjusted_close, volume. /intraday/{ticker} returns timestamp, gmtoffset, datetime, open, high, low, close, volume.
There is no adjusted_close in an intraday row. Not renamed, not optional — absent. Intraday bars are the raw tape and nothing else.
What that looks like when it matters
NVIDIA executed a 10-for-1 split effective 10 June 2024. Take the last pre-split session, 7 June 2024, and ask both endpoints about it.
From /eod/NVDA.US:
close= 1208.88adjusted_close= 120.6792, as fetched on 2026-07-28
From /intraday/NVDA.US with interval=1h, the bar stamped 19:30 UTC that day closes at 1208.650024, and the 20:00 bar prints 1208.880004 — the closing price, matching the raw daily close.
So the intraday feed still reports NVIDIA at roughly 1,209 for a session in June 2024, two years later, for a share that has since traded near a tenth of that. It is not stale and it is not wrong. It is raw, exactly like the daily close beside it, and the raw price on that day was 1,208.88.
Now imagine the splice. Adjusted daily history running to about 120, then intraday bars starting at 1,209. A 10x step in your series, on a day nothing happened. Or the mirror-image failure: raw daily history joined to raw intraday, which is consistent — until you compute a return across the split date and report −90%.
Adjusting intraday yourself
The fix is arithmetic, and the daily endpoint hands you the ingredient. For any date, the adjustment coefficient is:
coefficient = adjusted_close ÷ close
For NVIDIA on 7 June 2024 that is 120.6792 ÷ 1208.88 = 0.099827 on a 2026-07-28 pull — one tenth for the split, times about 0.998 for the small dividend component. Multiply every intraday open, high, low and close from that session by the coefficient of the day you fetched it and they are on the same footing as the adjusted daily series; by 2026-09-15 the same division gave 0.099716.
Four caveats, all of them real:
- The coefficient is per date. Compute it for each session you are adjusting, not once for the whole file.
- It changes over time, because
adjusted_closeis recomputed after every new dividend. Adjusted intraday data has to be re-derived, not cached forever. - Volume needs the inverse treatment if you want a comparable share count, and there is no published volume coefficient — you would divide by the split ratio, which you get from a separate corporate-actions endpoint.
- Every rounding you introduce is yours. The vendor's
adjusted_closeis one number; your reconstructed intraday series is thousands of derived ones.
The honest recommendation
Do not splice unless you have to. Keep intraday and daily as two separate series with two different jobs: intraday for looking inside a recent session, daily for anything spanning corporate actions. If you genuinely need one continuous high-resolution history across a split, adjust deliberately, in one place in your code, with a comment saying which coefficient you used and when you computed it.
This is a description of how the data behaves, not a recommendation about what to trade or how to build a strategy.
Try it now
- Request
/eod/NVDA.USforfrom=2024-06-05&to=2024-06-11. Divideadjusted_closebycloseon each row and watch the coefficient jump from about 0.0997 to about 0.9972 across 10 June (measured 2026-09-14) - and note that it is not exactly 0.1, because the adjusted column strips dividends as well as the split.
- Here is
/intraday/NVDA.USwithinterval=1hfor 7 June 2024. Confirm the prices are near 1,208, not near 120, and compare the closing print with that day'scloseandadjusted_closein the table above.
- Multiply those intraday closes by that day's coefficient and check the result lands on the adjusted daily close. You have just written the splice correctly, once, by hand.