Hi Alpaca support,
BROKERAGE ACCOUNT NUMBER: 151236500
Error: “OPRA agreement is not signed”
Account Type: Basic
I’m building a personal application that uses the Alpaca Market Data API for options data. I’m running into an issue with the option bars endpoint.
Setup:
- Using account with live API key (AK…)
- Option Agreement: Signed
- OPRA Agreement: Signed (I THINK?)
- Using alpaca-py Python SDK
What works:
- OptionSnapshotRequest with feed=OptionsFeed.INDICATIVE returns data successfully
- OptionLatestTradeRequest with feed=OptionsFeed.INDICATIVE works
What fails:
- OptionBarsRequest returns {“message”: “OPRA agreement is not signed”}
- The OptionBarsRequest class in alpaca-py does not expose a feed parameter, so I cannot set it to INDICATIVE like I can with snapshots
Example code:
from alpaca.data.historical.option import OptionHistoricalDataClient
from alpaca.data.requests import OptionBarsRequest
from alpaca.data.timeframe import TimeFrame
client = OptionHistoricalDataClient(“AK…”, “…”)
request = OptionBarsRequest(
symbol_or_symbols=[“NVDA260821C00200000”],
timeframe=TimeFrame.Day,
start=“2026-02-10”,
end=“2026-02-17”,
)
bars = client.get_option_bars(request) # Fails: “OPRA agreement is not signed”
Questions:
- I signed the OPRA agreement — is there a propagation delay, or is a paid data subscription required beyond signing the agreement?
- The REST API documentation suggests a feed=indicative query parameter exists for /v1beta1/options/bars, but the alpaca-py SDK’s OptionBarsRequest doesn’t expose a feed field. Is this
intentional? Is there a way to use the INDICATIVE feed for option bars?
Thanks for your help.