python3 << 'EOF'
import os
from dotenv import load_dotenv
load_dotenv('somefile.')
from alpaca.data.historical import StockHistoricalDataClient
from alpaca.data.requests import StockBarsRequest
from alpaca.data.timeframe import TimeFrame
from alpaca.data.enums import DataFeed
from datetime import datetime, time as dtime
import pytz
ET = pytz.timezone("US/Eastern")
client = StockHistoricalDataClient(os.environ['API_KEY'], os.environ['API_SECRET'])
# Explicitly request SIP feed
req = StockBarsRequest(
symbol_or_symbols="AMT",
timeframe=TimeFrame.Minute,
start=datetime(2026, 6, 4, 9, 30, tzinfo=ET),
end=datetime(2026, 6, 4, 10, 30, tzinfo=ET),
feed=DataFeed.SIP,
)
bars = client.get_stock_bars(req)
df = bars.df
if df.empty:
print("No data even with explicit SIP feed!")
else:
df = df.reset_index()
df['timestamp'] = df['timestamp'].dt.tz_convert(ET)
print(f"First bar: {df.iloc[0]['timestamp']} | Bars: {len(df)}")
print(df.head(10)[['timestamp','open','high','low','close','volume']].to_string())
EOF
First bar: 2026-06-04 10:26:00-04:00 | Bars: 61
timestamp open high low close volume
0 2026-06-04 10:26:00-04:00 185.210 185.370 185.170 185.260 3797.0
1 2026-06-04 10:27:00-04:00 185.250 185.430 185.250 185.430 3570.0
2 2026-06-04 10:28:00-04:00 185.520 185.525 185.520 185.525 583.0
3 2026-06-04 10:29:00-04:00 185.630 185.640 185.620 185.640 2038.0
4 2026-06-04 10:30:00-04:00 185.530 185.820 185.525 185.720 3405.0
5 2026-06-04 10:31:00-04:00 185.740 185.740 185.640 185.740 3448.0
6 2026-06-04 10:32:00-04:00 185.860 185.875 185.760 185.760 2998.0
7 2026-06-04 10:33:00-04:00 185.780 185.780 185.770 185.770 1773.0
8 2026-06-04 10:34:00-04:00 185.640 186.035 185.640 185.830 4355.0
9 2026-06-04 10:35:00-04:00 185.865 186.250 185.865 186.250 4601.0
Even with explicit feed=DataFeed.SIP, first bar is 10:26. Seems like a confirmed data gap on Alpaca’s side — they’re missing AMT data from 9:30 to 10:26 ET today even on SIP.
Hi Alpaca team,
I’m on the SIP data plan. Today (June 4, 2026) AMT (American Tower) has no 1-minute bar data before 10:26 AM ET, even when explicitly requesting feed=sip. The stock was actively trading from market open on NYSE (I can see the full tape on other platforms).
Can you check why SIP data is missing for AMT between 9:30-10:26 today?
This is a legit Alpaca bug — SIP should have every trade from every exchange starting at 9:30.
EDIT:
I ran the same code again(9:45 PM CDT) and Interesting — and it shows that Alpaca does have AMT data from 9:30 AM (13:30 UTC). First bar is right at market open with 59k volume. So right in the evening the data is there.
The issue was specific to morning day when I missed the alert. Alpaca had a temporary data gap on that particular session — the data came back later or simply wasn’t served during live hours.
This makes it harder to prove to Alpaca because if you check retroactively, the data might be backfilled. The real problem was that during live streaming that morning, the bars weren’t available. “data was missing during live market hours but may have been backfilled after the fact.” @Dan_Whitnable_Alpaca