Getting Started with Launchpad Crypto

Polygon Launchpad provides everything you need to connect your application to the financial markets. Use our best-in-class technology to access news, charts, history, corporate actions, and more for any security.

Launchpad

Authentication

Pass your API key in the query string like follows:

https://api.polygon.io/v2/aggs/ticker/AAPL/range/1/day/2020-06-01/2020-06-17?apiKey=*

Alternatively, you can add an Authorization header to the request with your API Key as the token in the following form:

Authorization: Bearer <token>

Edge User Insights

Use custom request headers to pass along info about the user, location, and user agent that originated each API call so that Launchpad can provide usage analytics, track trends, and alert you to any problems.

X-Polygon-Edge-ID (required) - An alias that you can use to correlate usage in Polygon back to an individual user of your application. This should be a string, unique for each individual user of your application who accesses data. We'll keep logs and trends associated with each individual edge user, but their true identity is known only to you. We also use this information to calculate your Monthly Active Users for billing.

This should be a string between 1 and 80 characters long.

X-Polygon-Edge-IP-Address (required) - The IP Address information of the edge user originating the call. We use this for location insights, and to help you monitor for abuse.

This should be a string in IPv4 dotted decimal ("192.0.2.1"), IPv6 ("2001:db8::68"), or IPv4-mapped IPv6 ("::ffff:192.0.2.1") form.

X-Polygon-Edge-User-Agent - The User Agent information of the edge user originating the call. This can be used to see trends across different platforms, or different versions of your client application.

This should be a string between 1 and 80 characters long.

Usage

Many of Polygon.io's REST endpoints allow you to extend query parameters with inequalities like date.lt=2021-01-01 (less than) and date.gte=2020-01-01 (greater than or equal to) to search ranges of values. You can also use the field name without any extension to query for exact equality. Fields that support extensions will have an "Additional filter parameters" dropdown beneath them in the docs that detail the supported extensions for that parameter.


Aggregates (Bars)

get
/v2/aggs/ticker/{cryptoTicker}/range/{multiplier}/{timespan}/{from}/{to}

Get aggregate bars for a cryptocurrency pair 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.

Headers
This should be a string between 1 and 80 characters long.
This should be a string in IPv4 dotted decimal ("192.0.2.1"), IPv6 ("2001:db8::68"), or IPv4-mapped IPv6 ("::ffff:192.0.2.1") form.
This should be a string between 1 and 80 characters long.
Parameters

The ticker symbol of the currency pair.

The size of the timespan multiplier.

  • The size of the time window.

    The start of the aggregate time window. Either a date with the format YYYY-MM-DD or a millisecond timestamp.

    The end of the aggregate time window. Either a date with the format YYYY-MM-DD or a millisecond timestamp.

  • Whether or not 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 the results by timestamp. asc will return results in ascending order (oldest at the top), desc will return results in descending order (newest at the top).

    Limits the number of base aggregates queried to create the aggregate results. Max 50000 and Default 5000. Read more about how limit is used to calculate aggregate results in our article on Aggregate Data API Improvements.

    https://api.polygon.io/v2/aggs/ticker/{cryptoTicker}/range/{multiplier}/{timespan}/{from}/{to}?apiKey=*
    Response Attributes
    ticker*string

    The exchange symbol that this item is traded under.


    adjusted*boolean

    Whether or not this response was adjusted for splits.


    queryCount*integer

    The number of aggregates (minute or day) used to generate the response.


    request_id*string

    A request id assigned by the server.


    resultsCount*integer

    The total number of results for this request.


    status*string

    The status of this request's response.


    resultsarray
    c*number

    The close price for the symbol in the given time period.


    h*number

    The highest price for the symbol in the given time period.


    l*number

    The lowest price for the symbol in the given time period.


    ninteger

    The number of transactions in the aggregate window.


    o*number

    The open price for the symbol in the given time period.


    t*integer

    The Unix Msec timestamp for the start of the aggregate window.


    v*number

    The trading volume of the symbol in the given time period.


    vwnumber

    The volume weighted average price.


    Was this helpful?
    Help us improve
    Response Object
    {
      "adjusted": true,
      "queryCount": 2,
      "request_id": "0cf72b6da685bcd386548ffe2895904a",
      "results": [
        {
          "c": 10094.75,
          "h": 10429.26,
          "l": 9490,
          "n": 1,
          "o": 9557.9,
          "t": 1590984000000,
          "v": 303067.6562332156,
          "vw": 9874.5529
        },
        {
          "c": 9492.62,
          "h": 10222.72,
          "l": 9135.68,
          "n": 1,
          "o": 10096.87,
          "t": 1591070400000,
          "v": 323339.6922892879,
          "vw": 9729.5701
        }
      ],
      "resultsCount": 2,
      "status": "OK",
      "ticker": "X:BTCUSD"
    }

    Summaries

    get
    /v1/summaries

    Get everything needed to visualize the tick-by-tick movement of a list of tickers.

    Headers
    This should be a string between 1 and 80 characters long.
    This should be a string in IPv4 dotted decimal ("192.0.2.1"), IPv6 ("2001:db8::68"), or IPv4-mapped IPv6 ("::ffff:192.0.2.1") form.
    This should be a string between 1 and 80 characters long.
    Parameters

    Comma separated list of tickers. This API currently supports Stocks/Equities, Crypto, Options, and Forex. See the tickers endpoint for more details on supported tickers. If no tickers are passed then no results will be returned.

    https://api.polygon.io/v1/summaries?apiKey=*
    Response Attributes
    request_id*string

    resultsarray
    branding*object
    icon_urlstring

    A link to this ticker's company's icon. Icon's are generally smaller, square images that represent the company at a glance. Note that you must provide an API key when accessing this URL. See the "Authentication" section at the top of this page for more details.


    logo_urlstring

    A link to this ticker's company's logo. Note that you must provide an API key when accessing this URL. See the "Authentication" section at the top of this page for more details.


    errorstring

    The error while looking for this ticker.


    market_status*string

    The market status for the market that trades this ticker.


    messagestring

    The error message while looking for this ticker.


    name*string

    Name of ticker, forex, or crypto asset.


    options*object
    contract_type*enum [put, call, other]

    The type of contract. Can be "put", "call", or in some rare cases, "other".


    exercise_style*enum [american, european, bermudan]

    The exercise style of this contract. See this link for more details on exercise styles.


    expiration_date*string

    The contract's expiration date in YYYY-MM-DD format.


    shares_per_contract*number

    The number of shares per contract for this contract.


    strike_price*number

    The strike price of the option contract


    underlying_ticker*string

    The ticker for the option contract.


    price*number

    The most up to date ticker price.


    session*object
    change*number

    The value of the price change for the contract from the previous trading day.


    change_percent*number

    The percent of the price change for the contract from the previous trading day.


    close*number

    The closing price for the asset of the day.


    early_trading_changenumber

    Today’s early trading change amount, difference between price and previous close if in early trading hours, otherwise difference between last price during early trading and previous close.


    early_trading_change_percentnumber

    Today’s early trading change as a percentage.


    high*number

    The highest price for the asset of the day.


    late_trading_changenumber

    Today’s late trading change amount, difference between price and today’s close if in late trading hours, otherwise difference between last price during late trading and today’s close.


    late_trading_change_percentnumber

    Today’s late trading change as a percentage.


    low*number

    The lowest price for the asset of the day.


    open*number

    The open price for the asset of the day.


    previous_close*number

    The closing price for the asset of previous trading day.


    volumenumber

    The trading volume for the asset of the day.


    ticker*string

    Ticker of asset queried.


    type*enum [stocks, crypto, options, fx]

    The market for this ticker of stock, crypto, fx, option.


    status*string

    The status of this request's response.


    Was this helpful?
    Help us improve
    Response Object
    {
      "request_id": "abc123",
      "results": [
        {
          "branding": {
            "icon_url": "https://api.polygon.io/icon.png",
            "logo_url": "https://api.polygon.io/logo.svg"
          },
          "market_status": "closed",
          "name": "Norwegian Cruise Lines",
          "price": 22.3,
          "session": {
            "change": -1.05,
            "change_percent": -4.67,
            "close": 21.4,
            "early_trading_change": -0.39,
            "early_trading_change_percent": -0.07,
            "high": 22.49,
            "late_trading_change": 1.2,
            "late_trading_change_percent": 3.92,
            "low": 21.35,
            "open": 22.49,
            "previous_close": 22.45,
            "volume": 37
          },
          "ticker": "NCLH",
          "type": "stock"
        },
        {
          "market_status": "closed",
          "name": "NCLH $5 Call",
          "options": {
            "contract_type": "call",
            "exercise_style": "american",
            "expiration_date": "2022-10-14",
            "shares_per_contract": 100,
            "strike_price": 5,
            "underlying_ticker": "NCLH"
          },
          "price": 6.6,
          "session": {
            "change": -0.05,
            "change_percent": -1.07,
            "close": 6.65,
            "early_trading_change": -0.01,
            "early_trading_change_percent": -0.03,
            "high": 7.01,
            "late_trading_change": -0.4,
            "late_trading_change_percent": -0.02,
            "low": 5.42,
            "open": 6.7,
            "previous_close": 6.71,
            "volume": 67
          },
          "ticker": "O:NCLH221014C00005000",
          "type": "options"
        },
        {
          "market_status": "open",
          "name": "Euro - United States Dollar",
          "price": 0.97989,
          "session": {
            "change": -0.0001,
            "change_percent": -0.67,
            "close": 0.97989,
            "high": 0.98999,
            "low": 0.96689,
            "open": 0.97889,
            "previous_close": 0.98001
          },
          "ticker": "C:EURUSD",
          "type": "fx"
        },
        {
          "branding": {
            "icon_url": "https://api.polygon.io/icon.png",
            "logo_url": "https://api.polygon.io/logo.svg"
          },
          "market_status": "open",
          "name": "Bitcoin - United States Dollar",
          "price": 32154.68,
          "session": {
            "change": -201.23,
            "change_percent": -0.77,
            "close": 32154.68,
            "high": 33124.28,
            "low": 28182.88,
            "open": 31129.32,
            "previous_close": 33362.18
          },
          "ticker": "X:BTCUSD",
          "type": "crypto"
        },
        {
          "error": "NOT_FOUND",
          "message": "Ticker not found.",
          "ticker": "APx"
        }
      ],
      "status": "OK"
    }

    Tickers

    get
    /v3/reference/tickers

    Query all ticker symbols which are supported by Polygon.io. This API currently includes Stocks/Equities, Crypto, and Forex.

    Headers
    This should be a string between 1 and 80 characters long.
    This should be a string in IPv4 dotted decimal ("192.0.2.1"), IPv6 ("2001:db8::68"), or IPv4-mapped IPv6 ("::ffff:192.0.2.1") form.
    This should be a string between 1 and 80 characters long.
    Parameters

    Specify a ticker symbol. Defaults to empty string which queries all tickers.

    ticker.ltless than
    ticker.lteless than or equal to
    ticker.gtgreater than
    ticker.gtegreater than or equal to
    Learn More
  • Specify the type of the tickers. Find the types that we support via our Ticker Types API. Defaults to empty string which queries all types.

  • Filter by market type. By default all markets are included.

    Specify the primary exchange of the asset in the ISO code format. Find more information about the ISO codes at the ISO org website. Defaults to empty string which queries all exchanges.

    Specify the CUSIP code of the asset you want to search for. Find more information about CUSIP codes at their website. Defaults to empty string which queries all CUSIPs.

    Note: Although you can query by CUSIP, due to legal reasons we do not return the CUSIP in the response.

    Specify the CIK of the asset you want to search for. Find more information about CIK codes at their website. Defaults to empty string which queries all CIKs.

    Specify a point in time to retrieve tickers available on that date. Defaults to the most recent available date.

    Search for terms within the ticker and/or company name.

  • Specify if the tickers returned should be actively traded on the queried date. Default is true.

  • Order results based on the sort field.

    Limit the number of results returned, default is 100 and max is 1000.

  • Sort field used for ordering.

    https://api.polygon.io/v3/reference/tickers?apiKey=*
    Response Attributes
    countinteger

    The total number of results for this request.


    next_urlstring

    If present, this value can be used to fetch the next page of data.


    request_idstring

    A request id assigned by the server.


    resultsarray

    An array of tickers that match your query.

    Note: Although you can query by CUSIP, due to legal reasons we do not return the CUSIP in the response.

    activeboolean

    Whether or not the asset is actively traded. False means the asset has been delisted.


    cikstring

    The CIK number for this ticker. Find more information here.


    composite_figistring

    The composite OpenFIGI number for this ticker. Find more information here


    currency_namestring

    The name of the currency that this asset is traded with.


    delisted_utcstring

    The last date that the asset was traded.


    last_updated_utcstring

    The information is accurate up to this time.


    locale*enum [us, global]

    The locale of the asset.


    market*enum [stocks, crypto, fx, otc]

    The market type of the asset.


    name*string

    The name of the asset. For stocks/equities this will be the companies registered name. For crypto/fx this will be the name of the currency or coin pair.


    primary_exchangestring

    The ISO code of the primary listing exchange for this asset.


    share_class_figistring

    The share Class OpenFIGI number for this ticker. Find more information here


    ticker*string

    The exchange symbol that this item is traded under.


    typestring

    The type of the asset. Find the types that we support via our Ticker Types API.


    statusstring

    The status of this request's response.


    Was this helpful?
    Help us improve
    Response Object
    {
      "count": 1,
      "next_url": "https://api.polygon.io/v3/reference/tickers?cursor=YWN0aXZlPXRydWUmZGF0ZT0yMDIxLTA0LTI1JmxpbWl0PTEmb3JkZXI9YXNjJnBhZ2VfbWFya2VyPUElN0M5YWRjMjY0ZTgyM2E1ZjBiOGUyNDc5YmZiOGE1YmYwNDVkYzU0YjgwMDcyMWE2YmI1ZjBjMjQwMjU4MjFmNGZiJnNvcnQ9dGlja2Vy",
      "request_id": "e70013d92930de90e089dc8fa098888e",
      "results": [
        {
          "active": true,
          "cik": "0001090872",
          "composite_figi": "BBG000BWQYZ5",
          "currency_name": "usd",
          "last_updated_utc": "2021-04-25T00:00:00Z",
          "locale": "us",
          "market": "stocks",
          "name": "Agilent Technologies Inc.",
          "primary_exchange": "XNYS",
          "share_class_figi": "BBG001SCTQY4",
          "ticker": "A",
          "type": "CS"
        }
      ],
      "status": "OK"
    }

    Market Holidays

    get
    /v1/marketstatus/upcoming

    Get upcoming market holidays and their open/close times.

    Headers
    This should be a string between 1 and 80 characters long.
    This should be a string in IPv4 dotted decimal ("192.0.2.1"), IPv6 ("2001:db8::68"), or IPv4-mapped IPv6 ("::ffff:192.0.2.1") form.
    This should be a string between 1 and 80 characters long.
    https://api.polygon.io/v1/marketstatus/upcoming?apiKey=*
    Response Attributes
    responsearray
    closestring

    The market close time on the holiday (if it's not closed).


    datestring

    The date of the holiday.


    exchangestring

    Which market the record is for.


    namestring

    The name of the holiday.


    openstring

    The market open time on the holiday (if it's not closed).


    statusstring

    The status of the market on the holiday.


    Was this helpful?
    Help us improve
    Response Object
    [
      {
        "date": "2020-11-26T00:00:00.000Z",
        "exchange": "NYSE",
        "name": "Thanksgiving",
        "status": "closed"
      },
      {
        "date": "2020-11-26T00:00:00.000Z",
        "exchange": "NASDAQ",
        "name": "Thanksgiving",
        "status": "closed"
      },
      {
        "date": "2020-11-26T00:00:00.000Z",
        "exchange": "OTC",
        "name": "Thanksgiving",
        "status": "closed"
      },
      {
        "close": "2020-11-27T18:00:00.000Z",
        "date": "2020-11-27T00:00:00.000Z",
        "exchange": "NASDAQ",
        "name": "Thanksgiving",
        "open": "2020-11-27T14:30:00.000Z",
        "status": "early-close"
      },
      {
        "close": "2020-11-27T18:00:00.000Z",
        "date": "2020-11-27T00:00:00.000Z",
        "exchange": "NYSE",
        "name": "Thanksgiving",
        "open": "2020-11-27T14:30:00.000Z",
        "status": "early-close"
      }
    ]

    Market Status

    get
    /v1/marketstatus/now

    Get the current trading status of the exchanges and overall financial markets.

    Headers
    This should be a string between 1 and 80 characters long.
    This should be a string in IPv4 dotted decimal ("192.0.2.1"), IPv6 ("2001:db8::68"), or IPv4-mapped IPv6 ("::ffff:192.0.2.1") form.
    This should be a string between 1 and 80 characters long.
    https://api.polygon.io/v1/marketstatus/now?apiKey=*
    Response Attributes
    afterHoursboolean

    Whether or not the market is in post-market hours.


    currenciesobject
    cryptostring

    The status of the crypto market.


    fxstring

    The status of the forex market.


    earlyHoursboolean

    Whether or not the market is in pre-market hours.


    exchangesobject
    nasdaqstring

    The status of the Nasdaq market.


    nysestring

    The status of the NYSE market.


    otcstring

    The status of the OTC market.


    marketstring

    The status of the market as a whole.


    serverTimestring

    The current time of the server.


    Was this helpful?
    Help us improve
    Response Object
    {
      "afterHours": true,
      "currencies": {
        "crypto": "open",
        "fx": "open"
      },
      "earlyHours": false,
      "exchanges": {
        "nasdaq": "extended-hours",
        "nyse": "extended-hours",
        "otc": "closed"
      },
      "market": "extended-hours",
      "serverTime": "2020-11-10T22:37:37.000Z"
    }

    Conditions

    get
    /v3/reference/conditions

    List all conditions that Polygon.io uses.

    Headers
    This should be a string between 1 and 80 characters long.
    This should be a string in IPv4 dotted decimal ("192.0.2.1"), IPv6 ("2001:db8::68"), or IPv4-mapped IPv6 ("::ffff:192.0.2.1") form.
    This should be a string between 1 and 80 characters long.
    Parameters
  • Filter for conditions within a given asset class.

  • Filter by data type.

    Filter for conditions with a given ID.

  • Filter by SIP. If the condition contains a mapping for that SIP, the condition will be returned.

  • Order results based on the sort field.

    Limit the number of results returned, default is 10 and max is 1000.

  • Sort field used for ordering.

    https://api.polygon.io/v3/reference/conditions?apiKey=*
    Response Attributes
    count*integer

    The total number of results for this request.


    next_urlstring

    If present, this value can be used to fetch the next page of data.


    request_id*string

    A request ID assigned by the server.


    results*array

    An array of conditions that match your query.

    abbreviationstring

    A commonly-used abbreviation for this condition.


    asset_class*enum [stocks, options, crypto, fx]

    An identifier for a group of similar financial instruments.


    data_types*array [string]

    Data types that this condition applies to.


    descriptionstring

    A short description of the semantics of this condition.


    exchangeinteger

    If present, mapping this condition from a Polygon.io code to a SIP symbol depends on this attribute. In other words, data with this condition attached comes exclusively from the given exchange.


    id*integer

    An identifier used by Polygon.io for this condition. Unique per data type.


    legacyboolean

    If true, this condition is from an old version of the SIPs' specs and no longer is used. Other conditions may or may not reuse the same symbol as this one.


    name*string

    The name of this condition.


    sip_mapping*object

    A mapping to a symbol for each SIP that has this condition.

    CTAstring

    OPRAstring

    UTPstring

    type*enum [sale_condition, quote_condition, sip_generated_flag, financial_status_indicator, short_sale_restriction_indicator, settlement_condition, market_condition, trade_thru_exempt]

    An identifier for a collection of related conditions.


    update_rulesobject

    A list of aggregation rules.

    consolidated*object

    Describes aggregation rules on a consolidated (all exchanges) basis.

    updates_high_low*boolean

    Whether or not trades with this condition update the high/low.


    updates_open_close*boolean

    Whether or not trades with this condition update the open/close.


    updates_volume*boolean

    Whether or not trades with this condition update the volume.


    market_center*object

    Describes aggregation rules on a per-market-center basis.

    updates_high_low*boolean

    Whether or not trades with this condition update the high/low.


    updates_open_close*boolean

    Whether or not trades with this condition update the open/close.


    updates_volume*boolean

    Whether or not trades with this condition update the volume.


    status*string

    The status of this request's response.


    Was this helpful?
    Help us improve
    Response Object
    {
      "count": 1,
      "request_id": "31d59dda-80e5-4721-8496-d0d32a654afe",
      "results": [
        {
          "asset_class": "stocks",
          "data_types": [
            "trade"
          ],
          "id": 2,
          "name": "Average Price Trade",
          "sip_mapping": {
            "CTA": "B",
            "UTP": "W"
          },
          "type": "condition",
          "update_rules": {
            "consolidated": {
              "updates_high_low": false,
              "updates_open_close": false,
              "updates_volume": true
            },
            "market_center": {
              "updates_high_low": false,
              "updates_open_close": false,
              "updates_volume": true
            }
          }
        }
      ],
      "status": "OK"
    }

    Exchanges

    get
    /v3/reference/exchanges

    List all exchanges that Polygon.io knows about.

    Headers
    This should be a string between 1 and 80 characters long.
    This should be a string in IPv4 dotted decimal ("192.0.2.1"), IPv6 ("2001:db8::68"), or IPv4-mapped IPv6 ("::ffff:192.0.2.1") form.
    This should be a string between 1 and 80 characters long.
    Parameters
  • Filter by asset class.

  • Filter by locale.

    https://api.polygon.io/v3/reference/exchanges?apiKey=*
    Response Attributes
    countinteger

    The total number of results for this request.


    request_id*string

    A request ID assigned by the server.


    resultsarray
    acronymstring

    A commonly used abbreviation for this exchange.


    asset_class*enum [stocks, options, crypto, fx]

    An identifier for a group of similar financial instruments.


    id*integer

    A unique identifier used by Polygon.io for this exchange.


    locale*enum [us, global]

    An identifier for a geographical location.


    micstring

    The Market Identifer Code of this exchange (see ISO 10383).


    name*string

    Name of this exchange.


    operating_micstring

    The MIC of the entity that operates this exchange.


    participant_idstring

    The ID used by SIP's to represent this exchange.


    type*enum [exchange, TRF, SIP]

    Represents the type of exchange.


    urlstring

    A link to this exchange's website, if one exists.


    status*string

    The status of this request's response.


    Was this helpful?
    Help us improve
    Response Object
    {
      "count": 1,
      "request_id": "31d59dda-80e5-4721-8496-d0d32a654afe",
      "results": [
        {
          "acronym": "AMEX",
          "asset_class": "stocks",
          "id": 1,
          "locale": "us",
          "mic": "XASE",
          "name": "NYSE American, LLC",
          "operating_mic": "XNYS",
          "participant_id": "A",
          "type": "exchange",
          "url": "https://www.nyse.com/markets/nyse-american"
        }
      ],
      "status": "OK"
    }
    All data provided on Polygon is provided for informational purposes only, and is not intended for trading or investing purposes. Polygon provides all information as is. You must not redistribute information displayed on or provided by Polygon. Stock prices displayed in the ticker are from a subset of exchanges, this price does not represent the real-time price from the SIP.

    © Polygon.io, Inc