Barchart Charts and Analytics API

The Charts and Analytics API from Barchart — 5 operation(s) for charts and analytics.

Operations 5

GET /getChart.json getChart #
GET /getTechnicals.json getTechnicals #
GET /getSignal.json getSignal #
GET /getMomentum.json getMomentum #
GET /getTechnicalIndicatorData.json getTechnicalIndicatorData #

Work with this as data

Every API here is available over the APIs.io API and to AI agents over MCP.

MCP server

One button, every client — Claude, Cursor, VS Code and the rest.

https://apis.io/mcp

Tools for apis

7 MCP tools reach this
  • find_apisBrowse and filter every API in the catalog.
  • get_api_artifactsOne API's artifacts, grouped by type.
  • get_openapiThe primary OpenAPI for this API.
  • find_similar_apisAPIs that look like this one.
  • apis_io_searchSTART HERE — APIs, providers and tags for one query, each with its total.
  • resolveTurn a domain, URL or GitHub org into the provider it belongs to.
  • find_cohortsEvery scored population of providers in the catalog.
All 92 tools →

Call it yourself

curl for this page
This API
curl "https://apis.io/api/v1/apis/barchart-charts-and-analytics-api"
All apis
curl "https://apis.io/api/v1/apis?limit=25"

Discovery needs no key. Ratings and market analysis are Pro.

Get an API key

Free tier, no form to fill in. Signing in shares your email address with us — we store it to create your key and to recognise you if you sign in with another provider. See our Privacy Policy and Terms.

A second provider on the same verified email joins the account you already have.

OpenAPI Specification

barchart-charts-and-analytics-api-openapi.yml Raw ↑
openapi: 3.2.0
info:
  title: OnDemand Charts and Analytics API
  version: 1.0.1
  description: Barchart features a diverse set of market and information APIs that can be easily integrated into your website. Whether you're looking for a small, medium, large or enterprise solution, we'll create a custom package for you that exceeds your expectations.
  contact:
    name: onDemand API Support
    url: https://www.barchart.com/ondemand
    email: support@barchart.com
  termsOfService: https://www.barchart.com/solutions/company/terms-and-privacy
servers:
- url: https://ondemand.websol.barchart.com
tags:
- name: Charts and Analytics
paths:
  /getChart.json:
    get:
      tags:
      - Charts and Analytics
      summary: getChart
      operationId: get-getChart
      description: The getChart API from Barchart OnDemand is used to request a custom chart image with variables such as chart type, size, period and technical indicators, based on a symbol.
      parameters:
      - in: query
        name: apikey
        description: Enter the secret API key.
        required: true
        schema:
          type: string
          example: YOUR_API_KEY
      - in: query
        name: symbols
        description: A symbol or code that identifies a financial instrument.
        required: true
        schema:
          type: string
          example: TSLA,MSFT
      - in: query
        name: type
        description: 'The type of chart, includes: bar chart ("BAR"), candlestick ("CANDLE"), area ("AREA") or line ("LINE") chart.

          '
        required: false
        schema:
          type: string
          enum:
          - BAR
          - LINE
          - CANDLE
          - AREA
          example: LINE
      - in: query
        name: width
        description: The width of chart in pixels.
        required: false
        schema:
          type: integer
          example: 700
      - in: query
        name: height
        description: The height of the chart, in pixels, with no indicators in pixels.
        required: false
        schema:
          type: integer
          example: 550
      - in: query
        name: volume
        description: An option to display the volume indicator on the chart.
        required: false
        schema:
          type: string
          example: 'false'
      - in: query
        name: period
        description: The period to display the chart.
        required: false
        schema:
          type: string
          enum:
          - 1d
          - 5d
          - 3d
          - 10d
          - 1m
          - 3m
          - 6m
          - 1y
          - 2y
          - 3y
          - 5y
          - 10y
          - 15y
          - 20y
          - 25y
          - ytd
          example: 1d
      - in: query
        name: interval
        description: 'Period type: DO (Daily Contract), DN (Daily Nearest), WO (Weekly Contract), WN (Weekly Nearest), MO (Monthly Contract), MN (Monthly Nearest).

          '
        required: false
        schema:
          type: string
          enum:
          - DO
          - DN
          - WO
          - WN
          - MO
          - MN
          example: DO
      - in: query
        name: indicators
        description: A semi-colon delimited list of indicators.
        required: false
        schema:
          type: string
          example: BBANDS(20,2);MACD(12,26,9)
      - in: query
        name: frequencyType
        description: 'Frequency type: DO (Daily Contract), DN (Daily Nearest), DC (Daily Continuation), WO (Weekly Contract), WN (Weekly Nearest), WC (Weekly Continuation), MO (Monthly Contract), MN (Monthly Nearest), MC (Monthly Continuation)

          '
        required: false
        schema:
          type: string
      - in: query
        name: gradientTop
        description: The HTML color code without the preceding hashtag for the AREA chart.
        required: false
        schema:
          type: string
      - in: query
        name: gradientBottom
        description: The HTML color code without the preceding hashtag for the AREA chart.
        required: false
        schema:
          type: string
      - in: query
        name: bgColor
        description: The HTML color code without the preceding hashtag for chart background color.
        required: false
        schema:
          type: string
      responses:
        '200':
          description: OK (Success)
          content:
            application/json:
              schema:
                type: object
                properties:
                  status:
                    type: object
                    description: The status object when an error occurs or when a response is successful.
                    required:
                    - code
                    - message
                    properties:
                      code:
                        description: The status code of the response.
                        type: integer
                        example: 200
                      message:
                        description: The status message corresponding to the status code.
                        type: string
                        example: Success.
                  results:
                    description: The results object of the API operation.
                    type: array
                    uniqueItems: true
                    items:
                      type: object
                      properties:
                        symbol:
                          description: A symbol or code that identifies a financial instrument.
                          type:
                          - string
                          - 'null'
                          example: YHOO
                        imageURL:
                          description: The URL for the chart image.
                          type:
                          - string
                          - 'null'
                          example: ////ondemand.websol.barchart.com/chart.png??symbol=YHOO\u0026barType=LINE\u0026time=1d\u0026width=700\u0026height=550\u0026volume=0\u0026indicators=BBANDS%2820%2C2%29%3BMACD%2812%2C26%2C9%29\u0026period=DO\u0026startDate=1499058000\u0026endDate=1499101199
                      required:
                      - symbol
                      - imageURL
        '204':
          description: No Content
        '400':
          description: Bad Request
        '500':
          description: Internal Server Error
  /getTechnicals.json:
    get:
      tags:
      - Charts and Analytics
      summary: getTechnicals
      operationId: get-getTechnicals
      description: Barchart OnDemand's getTechnicals API provides technical data and statistics for equities, indices, futures, currencies, cryptocurrencies and mutual funds based on symbol. Fields include moving averages, percent changes over different time periods and stochastics.
      parameters:
      - in: query
        name: apikey
        description: Enter the secret API key.
        required: true
        schema:
          type: string
          example: YOUR_API_KEY
      - in: query
        name: symbols
        description: A symbol or code that identifies a financial instrument.
        required: true
        schema:
          type: string
          example: AAPL,GOOG
      - in: query
        name: fields
        description: The fields requested.
        required: false
        schema:
          type: string
          example: averageVolumeFiveDay,averageVolumeTwentyDay,averageVolumeFiftyDay
      responses:
        '200':
          description: OK (Success)
          content:
            application/json:
              schema:
                type: object
                properties:
                  status:
                    type: object
                    description: The status object when an error occurs or when a response is successful.
                    required:
                    - code
                    - message
                    properties:
                      code:
                        description: The status code of the response.
                        type: integer
                        example: 200
                      message:
                        description: The status message corresponding to the status code.
                        type: string
                        example: Success.
                  results:
                    description: The results object of the API operation.
                    type: array
                    uniqueItems: true
                    items:
                      type: object
                      properties:
                        symbol:
                          description: A symbol or code that identifies a financial instrument.
                          type:
                          - string
                          - 'null'
                          example: AAPL
                        movingAverageFiveDay:
                          description: The average price of the instrument over 5 days.
                          type:
                          - number
                          - 'null'
                          format: double
                          example: 127.69
                        movingAverageTenDay:
                          description: The average price of the instrument over 10 days.
                          type:
                          - number
                          - 'null'
                          format: double
                          example: 185.86
                        movingAverageTwentyDay:
                          description: The average price of the instrument over 20 days.
                          type:
                          - number
                          - 'null'
                          format: double
                          example: 134.1
                        movingAverageFiftyDay:
                          description: The average price of the instrument over 50 days.
                          type:
                          - number
                          - 'null'
                          format: double
                          example: 131.9
                        movingAverageOneHundredDay:
                          description: The average price of the instrument over 100 days.
                          type:
                          - number
                          - 'null'
                          format: double
                          example: 124.69
                        movingAverageOneHundredFiftyDay:
                          description: The average price of the instrument over 150 days.
                          type:
                          - number
                          - 'null'
                          format: double
                          example: null
                        movingAverageTwoHundredDay:
                          description: The average price of the instrument over 200 days.
                          type:
                          - number
                          - 'null'
                          format: double
                          example: 112.09
                        movingAverageOneMonth:
                          description: The average price of the instrument over 1 month.
                          type:
                          - number
                          - 'null'
                          format: double
                          example: null
                        movingAverageThreeMonths:
                          description: The average price of the instrument over 3 months.
                          type:
                          - number
                          - 'null'
                          format: double
                          example: null
                        movingAverageSixMonths:
                          description: The average price of the instrument over 6 months.
                          type:
                          - number
                          - 'null'
                          format: double
                          example: null
                        movingAverageNineMonths:
                          description: The average price of the instrument over 9 months.
                          type:
                          - number
                          - 'null'
                          format: double
                          example: null
                        movingAverageFiftyTwoWeeks:
                          description: The average price of the instrument over 52 weeks.
                          type:
                          - number
                          - 'null'
                          format: double
                          example: null
                        movingAverageYTD:
                          description: The average price of the instrument since the start of the year.
                          type:
                          - number
                          - 'null'
                          format: double
                          example: 133.01
                        priceChangeFiveDay:
                          description: The change in price over 5-days
                          type:
                          - number
                          - 'null'
                          format: double
                          example: -11.14
                        priceChangeTwentyDay:
                          description: The change in price over 20-days.
                          type:
                          - number
                          - 'null'
                          format: double
                          example: -20.86
                        priceChangeFiftyDay:
                          description: The change in price over 50-days.
                          type:
                          - number
                          - 'null'
                          format: double
                          example: 0.28
                        priceChangeOneHundredDay:
                          description: The change in price over 100-days.
                          type:
                          - number
                          - 'null'
                          format: double
                          example: 7.97
                        priceChangeTwoHundredDay:
                          description: The change in price over 200-days.
                          type:
                          - number
                          - 'null'
                          format: double
                          example: 46.12
                        priceChangeYTD:
                          description: The change in price since the start of the year.
                          type:
                          - number
                          - 'null'
                          format: double
                          example: -10.64
                        priceChangeOneMonth:
                          description: The change in price over 1 month.
                          type:
                          - number
                          - 'null'
                          format: double
                          example: -17.02
                        priceChangeThreeMonth:
                          description: The change in price over 3 months.
                          type:
                          - number
                          - 'null'
                          format: double
                          example: 8.21
                        priceChangeSixMonth:
                          description: The change in price over 6 months.
                          type:
                          - number
                          - 'null'
                          format: double
                          example: -2.32
                        priceChangeNineMonth:
                          description: The change in price over 9 months.
                          type:
                          - number
                          - 'null'
                          format: double
                          example: 42.33
                        priceChangeFiftyTwoWeek:
                          description: The change in price over 52 weeks.
                          type:
                          - number
                          - 'null'
                          format: double
                          example: 43.79
                        priceChangeTwoYears:
                          description: The change in price over 2 years.
                          type:
                          - number
                          - 'null'
                          format: double
                          example: 78.81
                        percentChangeFiveDay:
                          description: The percentage change in price over 5-days
                          type:
                          - number
                          - 'null'
                          format: double
                          example: -8.36
                        percentChangeTwentyDay:
                          description: The percentage change in price over 20-days.
                          type:
                          - number
                          - 'null'
                          format: double
                          example: -14.6
                        percentChangeFiftyDay:
                          description: The percentage change in price over 50-days.
                          type:
                          - number
                          - 'null'
                          format: double
                          example: 0.23
                        percentChangeOneHundredDay:
                          description: The percentage change in price over 100-days.
                          type:
                          - number
                          - 'null'
                          format: double
                          example: 6.98
                        percentChangeTwoHundredDay:
                          description: The percentage change in price over 200-days.
                          type:
                          - number
                          - 'null'
                          format: double
                          example: 60.74
                        percentChangeYTD:
                          description: The percentage change in price since the start of the year.
                          type:
                          - number
                          - 'null'
                          format: double
                          example: -8.01
                        percentChangeOneMonth:
                          description: The percentage change in price over 1 month.
                          type:
                          - number
                          - 'null'
                          format: double
                          example: -12.23
                        percentChangeThreeMonth:
                          description: The percentage change in price over 3 months.
                          type:
                          - number
                          - 'null'
                          format: double
                          example: 7.21
                        percentChangeSixMonth:
                          description: The percentage change in price over 6 months.
                          type:
                          - number
                          - 'null'
                          format: double
                          example: -1.86
                        percentChangeNineMonth:
                          description: The percentage change in price over 9 months.
                          type:
                          - number
                          - 'null'
                          format: double
                          example: 53.1
                        percentChangeFiftyTwoWeek:
                          description: The percentage change in price over 52 weeks.
                          type:
                          - number
                          - 'null'
                          format: double
                          example: 55.96
                        percentChangeTwoYears:
                          description: The percentage change in price over 2 years.
                          type:
                          - number
                          - 'null'
                          format: double
                          example: 182.26
                        averageVolumeFiveDay:
                          description: The average daily volume calculated over the past 5-days.
                          type:
                          - number
                          - 'null'
                          format: double
                          example: 95174617
                        averageVolumeTwentyDay:
                          description: The average daily volume calculated over the past 20-days.
                          type:
                          - number
                          - 'null'
                          format: double
                          example: 95033719
                        averageVolumeFiftyDay:
                          description: The average daily volume calculated over the past 50-days.
                          type:
                          - number
                          - 'null'
                          format: double
                          example: 104940797
                        averageVolumeOneHundredDay:
                          description: The average daily volume calculated over the past 100-days.
                          type:
                          - number
                          - 'null'
                          format: double
                          example: 110668281
                        averageVolumeTwoHundredDay:
                          description: The average daily volume calculated over the past 200-days.
                          type:
                          - number
                          - 'null'
                          format: double
                          example: 135862438
                        averageVolumeYTD:
                          description: The average daily volume calculated since the start of the year.
                          type:
                          - number
                          - 'null'
                          format: double
                          example: 102347750
                        nineDayRawStochastic:
                          description: A 9-day raw stochastic indicator.
                          type:
                          - number
                          - 'null'
                          format: double
                          example: 19.7
                        fourteenDayRawStochastic:
                          description: A 14-day raw stochastic indicator.
                          type:
                          - number
                          - 'null'
                          format: double
                          example: 18.81
                        twentyDayRawStochastic:
                          description: A 20-day raw stochastic indicator.
                          type:
                          - number
                          - 'null'
                          format: double
                          example: 14.15
                        fiftyDayRawStochastic:
                          description: A 50-day raw stochastic indicator.
                          type:
                          - number
                          - 'null'
                          format: double
                          example: 13.73
                        oneHundredDayRawStochastic:
                          description: A 100-day raw stochastic indicator.
                          type:
                          - number
                          - 'null'
                          format: double
                          example: 39.01
                        nineDayStochasticK:
                          description: A 9-day stochastic %k indicator.
                          type:
                          - number
                          - 'null'
                          format: double
                          example: 15.49
                        fourteenDayStochasticK:
                          description: A 14-day stochastic %k indicator.
                          type:
                          - number
                          - 'null'
                          format: double
                          example: 15.19
                        twentyDayStochasticK:
                          description: A 20-day stochastic %k indicator.
                          type:
                          - number
                          - 'null'
                          format: double
                          example: 10.04
                        fiftyDayStochasticK:
                          description: A 50-day stochastic %k indicator.
                          type:
                          - number
                          - 'null'
                          format: double
                          example: 25.39
                        oneHundredDayStochasticK:
                          description: A 100-day stochastic %k indicator.
                          type:
                          - number
                          - 'null'
                          format: double
                          example: 49.39
                        nineDayStochasticD:
                          description: A 9-day stochastic %d indicator.
                          type:
                          - number
                          - 'null'
                          format: double
                          example: 17.44
                        fourteenDayStochasticD:
                          description: A 14-day stochastic %d indicator.
                          type:
                          - number
                          - 'null'
                          format: double
                          example: 16.75
                        twentyDayStochasticD:
                          description: A 20-day stochastic %d indicator.
                          type:
                          - number
                          - 'null'
                          format: double
                          example: 11.1
                        fiftyDayStochasticD:
                          description: A 50-day stochastic %d indicator.
                          type:
                          - number
                          - 'null'
                          format: double
                          example: 33.01
                        oneHundredDayStochasticD:
                          description: A 100-day stochastic %d indicator.
                          type:
                          - number
                          - 'null'
                          format: double
                          example: 55.56
                        nineDayATR:
                          description: A 9-day average true range indicator.
                          type:
                          - number
                          - 'null'
                          format: double
                          example: 3.68
                        fourteenDayATR:
                          description: A 14-day average true range indicator.
                          type:
                          - number
                          - 'null'
                          format: double
                          example: 3.63
                        twentyDayATR:
                          description: A 20-day average true range indicator.
                          type:
                          - number
                          - 'null'
                          format: double
                          example: 3.61
                        fiftyDayATR:
                          description: A 50-day average true range indicator.
                          type:
                          - number
                          - 'null'
                          format: double
                          example: 3.59
                        oneHundredDayATR:
                          description: A 100-day average true range indicator.
                          type:
                          - number
                          - 'null'
                          format: double
                          example: 3.37
                        twoDayRelativeStrength:
                          description: A 2-day relative strength indicator.
                          type:
                          - number
                          - 'null'
                          format: double
                          example: null
                        fiveDayRelativeStrength:
                          description: A 5-day relative strength indicator.
                          type:
                          - number
                          - 'null'
                          format: double
                          example: 68.43
                        nineDayRelativeStrength:
                          description: A 9-day relative strength indicator.
                          type:
                          - number
                          - 'null'
                          format: double
                          example: 19.25
                        fourteenDayRelativeStrength:
                          description: A 14-day relative strength indicator.
                          type:
                          - number
                          - 'null'
                          format: double
                          example: 30.16
                        twentyDayRelativeStrength:
                          description: A 20-day relative strength indicator.
                          type:
                          - number
                          - 'null'
                          format: double
                          example: 37.37
                        fiftyDayRelativeStrength:
                          description: A 50-day relative strength indicator.
                          type:
                          - number
                          - 'null'
                          format: double
                          example: 48.51
                        oneHundredDayRelativeStrength:
                          description: A 100-day relative strength indicator.
                          type:
                          - number
                          - 'null'
                          format: double
                          example: 52.37
                        nineDayPercentR:
                          description: A 9-day percent R indicator
                          type:
                          - number
                          - 'null'
                          format: double
                          example: 80.3
                        fourteenDayPercentR:
                          description: A 14-day percent R indicator
                          type:
                          - number
                          - 'null'
                          format: double
                          example: 81.19
                        twentyDayPercentR:
                          description: A 20-day percent R indicator
                          type:
                          - number
                          - 'null'
                          format: double
                          example: 85.85
                        fiftyDayPercentR:
                          description: A 50-day percent R indicator
                          type:
                          - number
                          - 'null'
                          format: double
                          example: 86.27
                        oneHundredDayPercentR:
                          description: A 100-day percent R indicator
                          type:
                          - number
                          - 'null'
                          format: double
                          example: 60.99
                        nineDayHistoricVolatility:
                          description: The 9-day historic or realized volatility.
                          type:
                          - number
                          - 'null'
                          format: double
                          example: 16.43
                        fourteenDayHistoricVolatility:
                          description: The 14-day historic or

# --- truncated at 32 KB (130 KB total) ---
# Full source: https://raw.githubusercontent.com/api-evangelist/barchart/refs/heads/main/openapi/barchart-charts-and-analytics-api-openapi.yml