Stocks

So you have completed the initial steps and are ready to dive deep into endpoints. Read this page to know everything you need to know about using the various Stocks HTTP endpoints.

See Async Support for REST endpoints for asynchronous use cases.

Docs below assume you have already read getting started page and know how to create the client. If you do not know how to create the client, first see General guide for clients & functions and create client as below. As always you can have all 5 different clients together.

import polygon

stocks_client = polygon.StocksClient('KEY')  # for usual sync client
async_stock_client = polygon.StocksClient('KEY', True)  # for an async client

here is how the client initializer looks like:

polygon.stocks.stocks.StocksClient(api_key: str, use_async: bool = False, connect_timeout: int = 10, read_timeout: int = 10, pool_timeout: int = 10, max_connections: int | None = None, max_keepalive: int | None = None, write_timeout: int = 10)

Initiates a Client to be used to access all REST Stocks endpoints.

Parameters:
  • api_key – Your API Key. Visit your dashboard to get yours.

  • use_async – Set it to True to get async client. Defaults to usual non-async client.

  • connect_timeout – The connection timeout in seconds. Defaults to 10. basically the number of seconds to wait for a connection to be established. Raises a ConnectTimeout if unable to connect within specified time limit.

  • read_timeout – The read timeout in seconds. Defaults to 10. basically the number of seconds to wait for date to be received. Raises a ReadTimeout if unable to connect within the specified time limit.

  • pool_timeout – The pool timeout in seconds. Defaults to 10. Basically the number of seconds to wait while trying to get a connection from connection pool. Do NOT change if you’re unsure of what it implies

  • max_connections – Max number of connections in the pool. Defaults to NO LIMITS. Do NOT change if you’re unsure of application

  • max_keepalive – max number of allowable keep alive connections in the pool. Defaults to no limit. Do NOT change if you’re unsure of the applications.

  • write_timeout – The write timeout in seconds. Defaults to 10. basically the number of seconds to wait for data to be written/posted. Raises a WriteTimeout if unable to connect within the specified time limit.

Endpoints

To use any of the below method, simply call it on the client you created above. so if you named your client client, you’d call the methods as client.get_trades and so on. Async methods will need to be awaited, see Async Support for REST endpoints.

SMA

Simple Moving Average. This endpoint supports pagination. Passing all_pages=True enables it. See Pagination Support for better info

SyncStocksClient.get_sma(symbol: str, timestamp=None, timespan='day', adjusted: bool = True, window_size: int = 50, series_type='close', include_underlying: bool = False, order='desc', limit: int = 5000, timestamp_lt=None, timestamp_lte=None, timestamp_gt=None, timestamp_gte=None, all_pages: bool = False, max_pages: int | None = None, merge_all_pages: bool = True, verbose: bool = False, raw_page_responses: bool = False, raw_response: bool = False)

Get the Simple Moving Average for a Stock symbol

Parameters:
  • symbol – The stock symbol

  • timestamp – Either a date with the format YYYY-MM-DD or a millisecond timestamp.

  • timespan – Size of the aggregate time window. defaults to ‘day’. See polygon.enums.Timespan for choices

  • adjusted – Whether the aggregates used to calculate the simple moving average are adjusted for splits. By default, aggregates are adjusted. Set this to False to get results that are NOT adjusted for splits.

  • window_size – The window size used to calculate the simple moving average (SMA). i.e. a window size of 10 with daily aggregates would result in a 10 day moving average.

  • series_type – The prices in the aggregate which will be used to calculate the SMA. The default close will result in using close prices to calculate the SMA. See polygon.enums.SeriesType for choices

  • include_underlying – Whether to include the OCHLV aggregates used to calculate this indicator in the response. Defaults to False which only returns the SMA.

  • order – The order in which to return the results, ordered by timestamp. See polygon.enums.SortOrder for choices. Defaults to Descending (most recent first)

  • limit – Limit the number of results returned, default is 5000 which is also the max

  • timestamp_lt – Only use results where timestamp is less than supplied value

  • timestamp_lte – Only use results where timestamp is less than or equal to supplied value

  • timestamp_gt – Only use results where timestamp is greater than supplied value

  • timestamp_gte – Only use results where timestamp is greater than or equal to supplied value

  • all_pages – Whether to paginate through next/previous pages internally. Defaults to False. If set to True, it will try to paginate through all pages and merge all pages internally for you.

  • max_pages – how many pages to fetch. Defaults to None which fetches all available pages. Change to an integer to fetch at most that many pages. This param is only considered if all_pages is set to True

  • merge_all_pages – If this is True, returns a single merged response having all the data. If False, returns a list of all pages received. The list can be either a list of response objects or decoded data itself, controlled by parameter raw_page_responses. This argument is Only considered if all_pages is set to True. Default: True

  • verbose – Set to True to print status messages during the pagination process. Defaults to False.

  • raw_page_responses – If this is true, the list of pages will be a list of corresponding Response objects. Else, it will be a list of actual data for pages. This parameter is only considered if merge_all_pages is set to False. Default: False

  • raw_response – Whether to return the Response Object. Useful for when you need to say check the status code or inspect the headers. Defaults to False which returns the json decoded dictionary.

Returns:

The response object

EMA

Exponential Moving Average. This endpoint supports pagination. Passing all_pages=True enables it. See Pagination Support for better info

SyncStocksClient.get_ema(symbol: str, timestamp=None, timespan='day', adjusted: bool = True, window_size: int = 50, series_type='close', include_underlying: bool = False, order='desc', limit: int = 5000, timestamp_lt=None, timestamp_lte=None, timestamp_gt=None, timestamp_gte=None, all_pages: bool = False, max_pages: int | None = None, merge_all_pages: bool = True, verbose: bool = False, raw_page_responses: bool = False, raw_response: bool = False)

Get the Exponential Moving Average for a Stock symbol

Parameters:
  • symbol – The stock symbol

  • timestamp – Either a date with the format YYYY-MM-DD or a millisecond timestamp.

  • timespan – Size of the aggregate time window. defaults to ‘day’. See polygon.enums.Timespan for choices

  • adjusted – Whether the aggregates used to calculate the EMA are adjusted for splits. By default, aggregates are adjusted. Set this to False to get results that are NOT adjusted for splits.

  • window_size – The window size used to calculate the EMA. i.e. a window size of 10 with daily aggregates would result in a 10 day moving average.

  • series_type – The prices in the aggregate which will be used to calculate the EMA. The default close will result in using close prices to calculate the EMA. See polygon.enums.SeriesType for choices

  • include_underlying – Whether to include the OCHLV aggregates used to calculate this indicator in the response. Defaults to False which only returns the EMA.

  • order – The order in which to return the results, ordered by timestamp. See polygon.enums.SortOrder for choices. Defaults to Descending (most recent first)

  • limit – Limit the number of results returned, default is 5000 which is also the max

  • timestamp_lt – Only use results where timestamp is less than supplied value

  • timestamp_lte – Only use results where timestamp is less than or equal to supplied value

  • timestamp_gt – Only use results where timestamp is greater than supplied value

  • timestamp_gte – Only use results where timestamp is greater than or equal to supplied value

  • all_pages – Whether to paginate through next/previous pages internally. Defaults to False. If set to True, it will try to paginate through all pages and merge all pages internally for you.

  • max_pages – how many pages to fetch. Defaults to None which fetches all available pages. Change to an integer to fetch at most that many pages. This param is only considered if all_pages is set to True

  • merge_all_pages – If this is True, returns a single merged response having all the data. If False, returns a list of all pages received. The list can be either a list of response objects or decoded data itself, controlled by parameter raw_page_responses. This argument is Only considered if all_pages is set to True. Default: True

  • verbose – Set to True to print status messages during the pagination process. Defaults to False.

  • raw_page_responses – If this is true, the list of pages will be a list of corresponding Response objects. Else, it will be a list of actual data for pages. This parameter is only considered if merge_all_pages is set to False. Default: False

  • raw_response – Whether to return the Response Object. Useful for when you need to say check the status code or inspect the headers. Defaults to False which returns the json decoded dictionary.

Returns:

The response object

RSI

Relative Strength Index. This endpoint supports pagination. Passing all_pages=True enables it. See Pagination Support for better info

SyncStocksClient.get_rsi(symbol: str, timestamp=None, timespan='day', adjusted: bool = True, window_size: int = 14, series_type='close', include_underlying: bool = False, order='desc', limit: int = 5000, timestamp_lt=None, timestamp_lte=None, timestamp_gt=None, timestamp_gte=None, all_pages: bool = False, max_pages: int | None = None, merge_all_pages: bool = True, verbose: bool = False, raw_page_responses: bool = False, raw_response: bool = False)

Get the Relative Strength Index for a Stock symbol

Parameters:
  • symbol – The stock symbol

  • timestamp – Either a date with the format YYYY-MM-DD or a millisecond timestamp.

  • timespan – Size of the aggregate time window. defaults to ‘day’. See polygon.enums.Timespan for choices

  • adjusted – Whether the aggregates used to calculate the RSI are adjusted for splits. By default, aggregates are adjusted. Set this to False to get results that are NOT adjusted for splits.

  • window_size – The window size used to calculate the RSI. i.e. a window size of 14 with daily aggregates would result in a 14 day RSI.

  • series_type – The prices in the aggregate which will be used to calculate the RSI. The default close will result in using close prices to calculate the RSI. See polygon.enums.SeriesType for choices

  • include_underlying – Whether to include the OCHLV aggregates used to calculate this indicator in the response. Defaults to False which only returns the RSI.

  • order – The order in which to return the results, ordered by timestamp. See polygon.enums.SortOrder for choices. Defaults to Descending (most recent first)

  • limit – Limit the number of results returned, default is 5000 which is also the max

  • timestamp_lt – Only use results where timestamp is less than supplied value

  • timestamp_lte – Only use results where timestamp is less than or equal to supplied value

  • timestamp_gt – Only use results where timestamp is greater than supplied value

  • timestamp_gte – Only use results where timestamp is greater than or equal to supplied value

  • all_pages – Whether to paginate through next/previous pages internally. Defaults to False. If set to True, it will try to paginate through all pages and merge all pages internally for you.

  • max_pages – how many pages to fetch. Defaults to None which fetches all available pages. Change to an integer to fetch at most that many pages. This param is only considered if all_pages is set to True

  • merge_all_pages – If this is True, returns a single merged response having all the data. If False, returns a list of all pages received. The list can be either a list of response objects or decoded data itself, controlled by parameter raw_page_responses. This argument is Only considered if all_pages is set to True. Default: True

  • verbose – Set to True to print status messages during the pagination process. Defaults to False.

  • raw_page_responses – If this is true, the list of pages will be a list of corresponding Response objects. Else, it will be a list of actual data for pages. This parameter is only considered if merge_all_pages is set to False. Default: False

  • raw_response – Whether to return the Response Object. Useful for when you need to say check the status code or inspect the headers. Defaults to False which returns the json decoded dictionary.

Returns:

The response object

MACD

Moving Average Convergence/Divergence. This endpoint supports pagination. Passing all_pages=True enables it. See Pagination Support for better info

SyncStocksClient.get_macd(symbol: str, timestamp=None, timespan='day', adjusted: bool = True, long_window_size: int = 50, series_type='close', include_underlying: bool = False, order='desc', limit: int = 5000, timestamp_lt=None, timestamp_lte=None, timestamp_gt=None, timestamp_gte=None, short_window_size: int = 50, signal_window_size: int = 50, all_pages: bool = False, max_pages: int | None = None, merge_all_pages: bool = True, verbose: bool = False, raw_page_responses: bool = False, raw_response: bool = False)

Get the Moving Average Convergence/Divergence for a stock

Parameters:
  • symbol – The stock symbol

  • timestamp – Either a date with the format YYYY-MM-DD or a millisecond timestamp.

  • timespan – Size of the aggregate time window. defaults to ‘day’. See polygon.enums.Timespan for choices

  • adjusted – Whether the aggregates used to calculate the MACD are adjusted for splits. By default, aggregates are adjusted. Set this to False to get results that are NOT adjusted for splits.

  • long_window_size – The long window size used to calculate the MACD data

  • series_type – The prices in the aggregate which will be used to calculate the MACD. The default close will result in using close prices to calculate the MACD. See polygon.enums.SeriesType for choices

  • include_underlying – Whether to include the OCHLV aggregates used to calculate this indicator in the response. Defaults to False which only returns the MACD.

  • order – The order in which to return the results, ordered by timestamp. See polygon.enums.SortOrder for choices. Defaults to Descending (most recent first)

  • limit – Limit the number of results returned, default is 5000 which is also the max

  • timestamp_lt – Only use results where timestamp is less than supplied value

  • timestamp_lte – Only use results where timestamp is less than or equal to supplied value

  • timestamp_gt – Only use results where timestamp is greater than supplied value

  • timestamp_gte – Only use results where timestamp is greater than or equal to supplied value

  • short_window_size – The short window size used to calculate the MACD data

  • signal_window_size – The window size used to calculate the MACD signal line.

  • all_pages – Whether to paginate through next/previous pages internally. Defaults to False. If set to True, it will try to paginate through all pages and merge all pages internally for you.

  • max_pages – how many pages to fetch. Defaults to None which fetches all available pages. Change to an integer to fetch at most that many pages. This param is only considered if all_pages is set to True

  • merge_all_pages – If this is True, returns a single merged response having all the data. If False, returns a list of all pages received. The list can be either a list of response objects or decoded data itself, controlled by parameter raw_page_responses. This argument is Only considered if all_pages is set to True. Default: True

  • verbose – Set to True to print status messages during the pagination process. Defaults to False.

  • raw_page_responses – If this is true, the list of pages will be a list of corresponding Response objects. Else, it will be a list of actual data for pages. This parameter is only considered if merge_all_pages is set to False. Default: False

  • raw_response – Whether to return the Response Object. Useful for when you need to say check the status code or inspect the headers. Defaults to False which returns the json decoded dictionary.

Returns:

The response object

Get Trades

SyncStocksClient.get_trades(symbol: str, date, timestamp: int | None = None, timestamp_limit: int | None = None, reverse: bool = True, limit: int = 5000, raw_response: bool = False)

Get trades for a given ticker symbol on a specified date. The response from polygon seems to have a map attribute which gives a mapping of attribute names to readable values. Official Docs

Parameters:
  • symbol – The ticker symbol we want trades for.

  • date – The date/day of the trades to retrieve. Could be datetime or date or string YYYY-MM-DD

  • timestamp – The timestamp offset, used for pagination. Timestamp is the offset at which to start the results. Using the timestamp of the last result as the offset will give you the next page of results. Default: None. I’m trying to think of a good way to implement pagination support for this type of pagination.

  • timestamp_limit – The maximum timestamp allowed in the results. Default: None

  • reverse – Reverse the order of the results. Default True: oldest first. Make it False for Newest first

  • limit – Limit the size of the response, max 50000 and default 5000.

  • raw_response – whether to return the Response Object. Useful for when you need to say check the status code or inspect the headers. Defaults to False which returns the json decoded dictionary.

Returns:

A JSON decoded Dictionary by default. Make raw_response=True to get underlying response object

Get Trades v3

This endpoint supports pagination. Passing all_pages=True enables it. See Pagination Support for better info

SyncStocksClient.get_trades_v3(symbol: str, timestamp: int | None = None, order=None, sort=None, limit: int = 5000, timestamp_lt=None, timestamp_lte=None, timestamp_gt=None, timestamp_gte=None, all_pages: bool = False, max_pages: int | None = None, merge_all_pages: bool = True, verbose: bool = False, raw_page_responses: bool = False, raw_response: bool = False)

Get trades for a ticker symbol in a given time range. Official Docs

Parameters:
  • symbol – The ticker symbol you want trades for.

  • timestamp – Query by trade timestamp. Could be datetime or date or string YYYY-MM-DD or a nanosecond timestamp

  • order – sort order. see polygon.enums.SortOrder for available choices. defaults to None

  • sort – field key to sort against. Defaults to None. see polygon.enums.StocksTradesSort for choices

  • limit – Limit the size of the response, max 50000 and default 5000.

  • timestamp_lt – return results where timestamp is less than the given value. Can be date or date string or nanosecond timestamp

  • timestamp_lte – return results where timestamp is less than/equal to the given value. Can be date or date string or nanosecond timestamp

  • timestamp_gt – return results where timestamp is greater than the given value. Can be date or date string or nanosecond timestamp

  • timestamp_gte – return results where timestamp is greater than/equal to the given value. Can be date or date string or nanosecond timestamp

  • all_pages – Whether to paginate through next/previous pages internally. Defaults to False. If set to True, it will try to paginate through all pages and merge all pages internally for you.

  • max_pages – how many pages to fetch. Defaults to None which fetches all available pages. Change to an integer to fetch at most that many pages. This param is only considered if all_pages is set to True

  • merge_all_pages – If this is True, returns a single merged response having all the data. If False, returns a list of all pages received. The list can be either a list of response objects or decoded data itself, controlled by parameter raw_page_responses. This argument is Only considered if all_pages is set to True. Default: True

  • verbose – Set to True to print status messages during the pagination process. Defaults to False.

  • raw_page_responses – If this is true, the list of pages will be a list of corresponding Response objects. Else, it will be a list of actual data for pages. This parameter is only considered if merge_all_pages is set to False. Default: False

  • raw_response – whether to return the Response Object. Useful for when you need to say check the status code or inspect the headers. Defaults to False which returns the json decoded dictionary. This is ignored if pagination is set to True.

Returns:

A JSON decoded Dictionary by default. Make raw_response=True to get underlying response object. If pagination is set to True, will return a merged response of all pages for convenience.

Get Quotes

SyncStocksClient.get_quotes(symbol: str, date, timestamp: int | None = None, timestamp_limit: int | None = None, reverse: bool = True, limit: int = 5000, raw_response: bool = False)

Get Quotes for a given ticker symbol on a specified date. The response from polygon seems to have a map attribute which gives a mapping of attribute names to readable values. Official Docs

Parameters:
  • symbol – The ticker symbol we want quotes for.

  • date – The date/day of the quotes to retrieve. Could be datetime or date or string YYYY-MM-DD

  • timestamp – The timestamp offset, used for pagination. Timestamp is the offset at which to start the results. Using the timestamp of the last result as the offset will give you the next page of results. Default: None. Thinking of a good way to implement this pagination here.

  • timestamp_limit – The maximum timestamp allowed in the results. Default: None

  • reverse – Reverse the order of the results. Default True: oldest first. Make it False for Newest first

  • limit – Limit the size of the response, max 50000 and default 5000.

  • raw_response – whether to return the Response Object. Useful for when you need to say check the status code or inspect the headers. Defaults to False which returns the json decoded dictionary.

Returns:

A JSON decoded Dictionary by default. Make raw_response=True to get underlying response object

Get Quotes v3

This endpoint supports pagination. Passing all_pages=True enables it. See Pagination Support for better info

SyncStocksClient.get_quotes_v3(symbol: str, timestamp: int | None = None, order=None, sort=None, limit: int = 5000, timestamp_lt=None, timestamp_lte=None, timestamp_gt=None, timestamp_gte=None, all_pages: bool = False, max_pages: int | None = None, merge_all_pages: bool = True, verbose: bool = False, raw_page_responses: bool = False, raw_response: bool = False)

Get NBBO Quotes for a ticker symbol in a given time range. Official Docs

Parameters:
  • symbol – The ticker symbol you want quotes for.

  • timestamp – Query by trade timestamp. Could be datetime or date or string YYYY-MM-DD or a nanosecond timestamp

  • order – sort order. see polygon.enums.SortOrder for available choices. defaults to None

  • sort – field key to sort against. Defaults to None. see polygon.enums.StocksQuotesSort for choices

  • limit – Limit the size of the response, max 50000 and default 5000.

  • timestamp_lt – return results where timestamp is less than the given value. Can be date or date string or nanosecond timestamp

  • timestamp_lte – return results where timestamp is less than/equal to the given value. Can be date or date string or nanosecond timestamp

  • timestamp_gt – return results where timestamp is greater than the given value. Can be date or date string or nanosecond timestamp

  • timestamp_gte – return results where timestamp is greater than/equal to the given value. Can be date or date string or nanosecond timestamp

  • all_pages – Whether to paginate through next/previous pages internally. Defaults to False. If set to True, it will try to paginate through all pages and merge all pages internally for you.

  • max_pages – how many pages to fetch. Defaults to None which fetches all available pages. Change to an integer to fetch at most that many pages. This param is only considered if all_pages is set to True

  • merge_all_pages – If this is True, returns a single merged response having all the data. If False, returns a list of all pages received. The list can be either a list of response objects or decoded data itself, controlled by parameter raw_page_responses. This argument is Only considered if all_pages is set to True. Default: True

  • verbose – Set to True to print status messages during the pagination process. Defaults to False.

  • raw_page_responses – If this is true, the list of pages will be a list of corresponding Response objects. Else, it will be a list of actual data for pages. This parameter is only considered if merge_all_pages is set to False. Default: False

  • raw_response – whether to return the Response Object. Useful for when you need to say check the status code or inspect the headers. Defaults to False which returns the json decoded dictionary. This is ignored if pagination is set to True.

Returns:

A JSON decoded Dictionary by default. Make raw_response=True to get underlying response object. If pagination is set to True, will return a merged response of all pages for convenience.

Get Last Trade

SyncStocksClient.get_last_trade(symbol: str, raw_response: bool = False)

Get the most recent trade for a given stock. Official Docs

Parameters:
  • symbol – The ticker symbol of the stock/equity.

  • raw_response – whether to return the Response Object. Useful for when you need to say check the status code or inspect the headers. Defaults to False which returns the json decoded dictionary.

Returns:

A JSON decoded Dictionary by default. Make raw_response=True to get underlying response object

Get last Quote

SyncStocksClient.get_last_quote(symbol: str, raw_response: bool = False)

Get the most recent NBBO (Quote) tick for a given stock. Official Docs

Parameters:
  • symbol – The ticker symbol of the stock/equity.

  • raw_response – whether to return the Response Object. Useful for when you need to say check the status code or inspect the headers. Defaults to False which returns the json decoded dictionary.

Returns:

A JSON decoded Dictionary by default. Make raw_response=True to get underlying response object

Get Daily Open Close

SyncStocksClient.get_daily_open_close(symbol: str, date, adjusted: bool = True, raw_response: bool = False)

Get the OCHLV and after-hours prices of a stock symbol on a certain date. Official Docs

Parameters:
  • symbol – The ticker symbol we want daily-OCHLV for.

  • date – The date/day of the daily-OCHLV to retrieve. Could be datetime or date or string YYYY-MM-DD

  • adjusted – whether the results are adjusted for splits. By default, results are adjusted. Set this to false to get results that are NOT adjusted for splits.

  • raw_response – whether to return the Response Object. Useful for when you need to say check the status code or inspect the headers. Defaults to False which returns the json decoded dictionary.

Returns:

A JSON decoded Dictionary by default. Make raw_response=True to get underlying response object

Get Aggregate Bars (Candles)

The library added a better aggregate function if you’re looking to get data for large time frames at minute/hour granularity.

(for example 15 years historical data , 1 minute candles)

See Bulk Aggregate Bars (Full Range) for complete details on how to use it well and control how it behaves.

SyncStocksClient.get_aggregate_bars(symbol: str, from_date, to_date, adjusted: bool = True, sort='asc', limit: int = 5000, multiplier: int = 1, timespan='day', full_range: bool = False, run_parallel: bool = True, max_concurrent_workers: int = 10, warnings: bool = True, info: bool = True, high_volatility: bool = False, raw_response: bool = False)

Get aggregate bars for a stock over a given date range in custom time window sizes. For example, if timespan = ‘minute’ and multiplier = ‘5’ then 5-minute bars will be returned. Official Docs

Parameters:
  • symbol – The ticker symbol of the stock/equity.

  • from_date – The start of the aggregate time window. Could be datetime or date or string YYYY-MM-DD

  • to_date – The end of the aggregate time window. Could be datetime or date or string YYYY-MM-DD

  • adjusted – whether the results are adjusted for splits. By default, results are adjusted. Set this to False to get results that are NOT adjusted for splits.

  • sort – Sort the results by timestamp. See polygon.enums.SortOrder for choices. asc default.

  • limit – Limits the number of base aggregates queried to create the aggregate results. Max 50000 and Default 5000.

  • multiplier – The size of the timespan multiplier. Must be a positive whole number.

  • timespan – The size of the time window. See polygon.enums.Timespan for choices. defaults to day

  • full_range – Default False. If set to True, it will get the ENTIRE range you specify and merge all the responses and return ONE single list with all data in it. You can control its behavior with the next few arguments.

  • run_parallel – Only considered if full_range=True. If set to true (default True), it will run an internal ThreadPool to get the responses. This is fine to do if you are not running your own ThreadPool. If you have many tickers to get aggs for, it’s better to either use the async version of it OR set this to False and spawn threads for each ticker yourself.

  • max_concurrent_workers – Only considered if run_parallel=True. Defaults to your cpu cores * 5. controls how many worker threads to use in internal ThreadPool

  • warnings – Set to False to disable printing warnings if any when fetching the aggs. Defaults to True.

  • info – Set to False to disable printing mild warnings / informational messages if any when fetching the aggs. E.g. if there was no data in a response but the response had an OK status

  • high_volatility – Specifies whether the symbol/security in question is highly volatile which just means having a very high number of trades or being traded for a high duration (e.g. SPY, Bitcoin) If set to True, the lib will use a smaller chunk of time to ensure we don’t miss any data due to 50k candle limit. Defaults to False.

  • raw_response – whether to return the Response Object. Useful for when you need to say check the status code or inspect the headers. Defaults to False which returns the json decoded dictionary. Will be ignored if full_range=True

Returns:

A JSON decoded Dictionary by default. Make raw_response=True to get underlying response object. If full_range=True, will return a single list with all the candles in it.

Get Grouped daily Bars (Candles)

SyncStocksClient.get_grouped_daily_bars(date, adjusted: bool = True, raw_response: bool = False)

Get the daily OCHLV for the entire stocks/equities markets. Official docs

Parameters:
  • date – The date to get the data for. Could be datetime or date or string YYYY-MM-DD

  • adjusted – whether the results are adjusted for splits. By default, results are adjusted. Set this to false to get results that are NOT adjusted for splits.

  • raw_response – whether to return the Response Object. Useful for when you need to say check the status code or inspect the headers. Defaults to False which returns the json decoded dictionary.

Returns:

A JSON decoded Dictionary by default. Make raw_response=True to get underlying response object

Get Previous Close

SyncStocksClient.get_previous_close(symbol: str, adjusted: bool = True, raw_response: bool = False)

Get the previous day’s OCHLV for the specified stock ticker. Official Docs

Parameters:
  • symbol – The ticker symbol of the stock/equity.

  • adjusted – whether the results are adjusted for splits. By default, results are adjusted. Set this to false to get results that are NOT adjusted for splits.

  • raw_response – whether to return the Response Object. Useful for when you need to say check the status code or inspect the headers. Defaults to False which returns the json decoded dictionary.

Returns:

A JSON decoded Dictionary by default. Make raw_response=True to get underlying response object

Get Snapshot

SyncStocksClient.get_snapshot(symbol: str, raw_response: bool = False)

Get the current minute, day, and previous day’s aggregate, as well as the last trade and quote for a single traded stock ticker. Official Docs

Parameters:
  • symbol – The ticker symbol of the stock/equity.

  • raw_response – whether to return the Response Object. Useful for when you need to say check the status code or inspect the headers. Defaults to False which returns the json decoded dictionary.

Returns:

A JSON decoded Dictionary by default. Make raw_response=True to get underlying response object

Get Snapshot (All)

SyncStocksClient.get_snapshot_all(symbols: list | None = None, raw_response: bool = False)

Get the current minute, day, and previous day’s aggregate, as well as the last trade and quote for all traded stock symbols. Official Docs

Parameters:
  • symbols – A comma separated list of tickers to get snapshots for. Defaults to ALL tickers

  • raw_response – whether to return the Response Object. Useful for when you need to say check the status code or inspect the headers. Defaults to False which returns the json decoded dictionary.

Returns:

A JSON decoded Dictionary by default. Make raw_response=True to get underlying response object

Get Current Price

SyncStocksClient.get_current_price(symbol: str) float

get current market price for the ticker symbol specified.

Uses get_last_trade() under the hood Official Docs

Parameters:

symbol – The ticker symbol of the stock/equity.

Returns:

The current price. A KeyError indicates the request wasn’t successful.

Get Gainers & Losers

SyncStocksClient.get_gainers_and_losers(direction='gainers', raw_response: bool = False)

Get the current top 20 gainers or losers of the day in stocks/equities markets. Official Docs

Parameters:
  • direction – The direction of results. Defaults to gainers. See polygon.enums.SnapshotDirection for choices

  • raw_response – Whether to return the Response Object. Useful for when you need to say check the status code or inspect the headers. Defaults to False which returns the json decoded dictionary.

Returns:

A JSON decoded Dictionary by default. Make raw_response=True to get underlying response object