polygon.io SSL certificate expired? :-)

I just wanted to try out polygon.io, got an ApiKey, but when I send my request I get this error:
Code:
ERROR: The certificate of ‘api.polygon.io’ is not trusted.
ERROR: The certificate of ‘api.polygon.io’ has expired.
How is that possible for such a data vendor company?! :banghead: :)
 
Found just another IMO big bug, this time even in the documentation that is supposed be the help for new API users:
Code:
RESPONSE OBJECT
{
"request_id": "603902c0-a5a5-406f-bd08-f030f92418fa",
"results": [
  {
   "cfi": "OPASPS",
   "contract_type": "put",
   "correction": 1,
   "exercise_style": "american",
   "expiration_date": "2022-01-21",
   "primary_exchange": "BATO",
   "shares_per_contract": 100,
   "strike_price": 75,
   "ticker": "O:SRPT1220121P00075000",
   "underlying_ticker": "SRPT"
  },
  {
   "cfi": "OPASPS",
   "contract_type": "call",
   "exercise_style": "american",
   "expiration_date": "2021-11-19",
   "primary_exchange": "BATO",
   "shares_per_contract": 100,
   "strike_price": 20,
   "ticker": "O:GCP211119C00020000",
   "underlying_ticker": "GCP"
  }
],
"status": "OK"
}
The above json result (ie. response for a request) is given at this link: https://polygon.io/docs/get_vX_reference_options_contracts_anchor
It's a demonstration about making a RESTful request for options data. In it a request for underlying SRPT was made. But the above result shows that the system delivered a Put data for SRPT and a Call data for another underlying ticker, GCP.

Aeeh, what???? You make a request for options data for an underlying ticker, and you get 2 halve datas for 2 different underlying tickers. This is IMO bogus! Makes no sense. There is no logic in this.

And: why did it gave data just for 1 strike? Shouldn't it rather be the data for all the strikes?

...unless it's me who maybe doesn't understand such simple & basic & elemental things... :)
 
Last edited:
polygon.io also delivers max. only 10 strikes per request, and says to use another request for the next 10 strikes....
Oh man, this is stone age handling of data, IMO!

In this respect I must say YahooFinance is exemplary/leading.
(I so far only quick-tested just these 2 with REST API).

And their definition of "snapshot" is about just one ticker only :), not about the whole market as one would normally expect.

I think polgon.io does not meet my specific needs / use-case.

I think as next I'll test ORATS as it looks good, but since I would use only a fraction of it (timewise seen, as I only need 30-minute snapshots, not 1-min snapshots), then the price of $199/mo seems to be too much for this, IMO.
 
Last edited:
Such issues are typical of startups. I tried them as a backup feed and cancelled after a few months. Polygon still have a lot of work to do. If they survive their startup and improve quality, I'll look again.

However, if you can't afford $199/mo for derivatives data you probably shouldn't be trading them.

And forget using Yahoo for much other than casual research. The operational/reliability issues with Yahoo are numerous.
 
Last edited:
@jharmon, yes I slowly came to the same conclusion.

ORATS and its partner company Tradier both make a very good impression IMO, they seem to know what trader-developers (programmer & trader :-)) need and what snapshot really means. And I also liked their idea of copying the data to a cloud space of the user (ie. Amazon S3 or similar), which means fast delivery of mass data as this also could be done locally in their data center only if they also had offered cloud space for the clients. The clients of course have to use the Internet to download their data. I just like this good idea and approach.

One has to study these offers/infos of/by them. The following is my Q&D summary of the relevant infos at
https://orats.com/historical-quotes/
https://documentation.tradier.com/brokerage-api/markets/get-options-chains

ORATS writes:
About Historical Quotes
High quality options data for advanced traders.

Accessibility
Download large data files quickly through Amazon S3 and FTP.
Initial bulk download available through FTP or AWS S3.
Ongoing data downloads available through FTP.
Ongoing quotes updated by 9:30pm EST every night.

1 Minute Intraday
Full SMV greeks, theoretical values, and IVs for every minute during the trading day of all US equity options.

Update Frequency: Intraday (1-min)
Live Data: Req. Tradier account

Tradier writes
Greek and IV data is included courtesy of ORATS. Please check out their APIs for more in-depth options data.
Greeks/IV data is updated once per hour. This data is calculated using the ORATS APIs and is supplied directly from them.

Tradier writes also this at https://tradier.com/solutions/developers :
Free!
API access is available to every Tradier Brokerage account holder at no cost.

Market Data APIs
Tons of data available with or without a Tradier Brokerage account.

No Account? No problem.
You can get access to delayed market-data through a Developer account.

ORATS has also a 14-day trial offer.
I think I should test both ORATS and Tradier.
 
Last edited:
I only don't understand yet the real meaning of the following sentence in the above ORATS citations:
Ongoing quotes updated by 9:30pm EST every night.
What is meant by this?
 
Such issues are typical of startups. I tried them as a backup feed and cancelled after a few months. Polygon still have a lot of work to do. If they survive their startup and improve quality, I'll look again.

However, if you can't afford $199/mo for derivatives data you probably shouldn't be trading them.

And forget using Yahoo for much other than casual research. The operational/reliability issues with Yahoo are numerous.

What do you recommend for getting realtime option data for us equities? Is there any provider able to stream more than 50000 different contracts simultaneously?
 
What do you recommend for getting realtime option data for us equities? Is there any provider able to stream more than 50000 different contracts simultaneously?
Oh man, I think for such tick data for each trade, and if I'm not wrong then you'll also need quote data (ie. the queued orders still waiting in the orderbook), you'll need to buy a membership in the exchange... Very expensive I think.

I as a non-professional need only whole-market snapshot data every 30 minutes.
Realtime tick data one normally should need only for tracking own open positions, IMO, and then normally by daytraders only, which I'm neither.
But your requirements are much different from mine.
 
What do you recommend for getting realtime option data for us equities? Is there any provider able to stream more than 50000 different contracts simultaneously?
Let me know if you'd like more information about NxCore market data by Nanex. sales@nanex.net
 
What do you recommend for getting realtime option data for us equities? Is there any provider able to stream more than 50000 different contracts simultaneously?
Found just another IMO big bug, this time even in the documentation that is supposed be the help for new API users:
Code:
RESPONSE OBJECT
{
"request_id": "603902c0-a5a5-406f-bd08-f030f92418fa",
"results": [
  {
   "cfi": "OPASPS",
   "contract_type": "put",
   "correction": 1,
   "exercise_style": "american",
   "expiration_date": "2022-01-21",
   "primary_exchange": "BATO",
   "shares_per_contract": 100,
   "strike_price": 75,
   "ticker": "O:SRPT1220121P00075000",
   "underlying_ticker": "SRPT"
  },
  {
   "cfi": "OPASPS",
   "contract_type": "call",
   "exercise_style": "american",
   "expiration_date": "2021-11-19",
   "primary_exchange": "BATO",
   "shares_per_contract": 100,
   "strike_price": 20,
   "ticker": "O:GCP211119C00020000",
   "underlying_ticker": "GCP"
  }
],
"status": "OK"
}
The above json result (ie. response for a request) is given at this link: https://polygon.io/docs/get_vX_reference_options_contracts_anchor
It's a demonstration about making a RESTful request for options data. In it a request for underlying SRPT was made. But the above result shows that the system delivered a Put data for SRPT and a Call data for another underlying ticker, GCP.

Aeeh, what???? You make a request for options data for an underlying ticker, and you get 2 halve datas for 2 different underlying tickers. This is IMO bogus! Makes no sense. There is no logic in this.

And: why did it gave data just for 1 strike? Shouldn't it rather be the data for all the strikes?

...unless it's me who maybe doesn't understand such simple & basic & elemental things... :)

Sorry for the confusion on the example in the docs, I agree this is not necessarily clear. It is important to note that the response shown is just two random contracts that we selected out of the entire response, it was not a query for either individual ticker. If you use the API with no parameters, you'll see that all underlying tickers are returned alphabetically.

Each strike price is its own independent contract, which is why each result is a single contract's ticker's information.
 
Back
Top