openapi: 3.2.0 info: title: OnDemand Splits, Dividends, and Earnings 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: Splits, Dividends, and Earnings paths: /getCorporateActions.json: get: tags: - Splits, Dividends, and Earnings summary: getCorporateActions operationId: get-getCorporateActions description: The getCorporateActions API from Barchart OnDemand provides corporate actions data on equities including splits, dividends and earnings, 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: AMZN,AAPL - in: query name: startDate description: The beginning date for the query. required: false schema: type: string format: date example: '2013-01-01' - in: query name: endDate description: The end date for the query. required: false schema: type: string format: date example: '2013-06-30' - in: query name: eventType description: 'The type of event: "split", "dividend", "earnings". ' required: true schema: type: string enum: - split - dividend - earnings example: dividend - in: query name: maxRecords description: The maximum number of records to return. required: false schema: type: integer example: 5 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 eventDate: description: The date in which the event occurred. type: - string - 'null' format: date example: '2013-05-09' eventType: description: The type of event. type: - string - 'null' example: Dividend value: description: The split ratio, dividend amount or earnings amount. type: - number - 'null' format: double example: 3.05 required: - symbol - eventDate - eventType - value '204': description: No Content '400': description: Bad Request '500': description: Internal Server Error /getEarningsEstimates.json: get: tags: - Splits, Dividends, and Earnings summary: getEarningsEstimates operationId: get-getEarningsEstimates description: The getEarningsEstimates API from Barchart OnDemand provides per share earnings estimates on public companies for quarterly and annual periods based on 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. Multiple symbols separated by a comma may be used. required: true schema: type: string example: IBM,GOOG - in: query name: fields description: Additional fields requested. required: false schema: type: string example: bid,bidSize,ask,askSize 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 the futures contract. type: - string - 'null' example: IBM symbolName: description: The full name of the instrument. type: - string - 'null' example: International Business Machines period: description: The period, either quarter or annual, that the estimate pertains to. For example, Q42013 or FY122013. type: - string - 'null' example: Qtr 2021-03-31 averageEstimate: description: The average estimated earnings per share based on all analysts. type: - number - 'null' format: double example: 1.66 numAnalysts: description: The number of analysts providing earnings estimates. type: - integer - 'null' example: 6 highEstimate: description: The highest earnings per share estimate amount. type: - number - 'null' format: double example: 1.82 lowEstimate: description: The lowest earnings per share estimate amount. type: - number - 'null' format: double example: 1.39 priorYear: description: The average earnings per share estimated last year. type: - number - 'null' format: double example: 1.84 growthRateEstimate: description: The estimated growth rate in earnings based off of the average estimate (year-over-year). type: - number - 'null' format: double example: -9.78 currentQtrExpectedReportDate: description: The expected report date for the most recent quarter. type: - string - 'null' format: date example: '2021-01-21' expectedEarningsStatus: description: Whether the expected earnings information is late or not. type: - string - 'null' example: Not yet reported, not yet late expectedEarningsSource: description: The source of the expected earnings report date. type: - string - 'null' example: Company dividendType: description: Type of dividend payout. type: - string - 'null' example: Cash Dividend indicatedAnnualDvnd: description: The indicated annual dividend per share for given instrument. type: - number - 'null' format: double example: 6.52 dividendStatus: description: Whether the dividend data is late or not. type: - string - 'null' example: Not late paymentDate: description: The dividend payment date. type: - string - 'null' format: date example: '2021-03-10' recordDate: description: Date when dividend info was reported type: - string - 'null' format: date example: '2021-02-10' declarationDate: description: Date when dividend info was announced. type: - string - 'null' format: date example: '2021-01-26' exDividendDate: description: The last possible date to have owned shares of a stock and still be entitled to the associated dividend. type: - string - 'null' format: date example: '2021-02-09' dividendRate: description: Last dividend payout amount. type: - number - 'null' format: double example: 1.63 required: - symbol - symbolName - period - averageEstimate '204': description: No Content '400': description: Bad Request '500': description: Internal Server Error /getDividendData.json: get: tags: - Splits, Dividends, and Earnings summary: getDividendData operationId: get-getDividendData description: The getDividendData API from Barchart OnDemand provides the most recent dividend data for requested instruments. 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. Multiple symbols separated by a comma may be used. required: true schema: type: string example: IBM,AAPL,GOOG 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: The instrument symbol. type: - string - 'null' example: IBM announcementDate: description: The date of announcement. type: - string - 'null' format: date example: '2021-01-26' exDividendDate: description: The ex-dividend date. type: - string - 'null' format: date example: '2021-02-09' recordDate: description: The date of the record. type: - string - 'null' format: date example: '2021-02-10' paymentDate: description: The date of the payment of the dividend. type: - string - 'null' format: date example: '2021-03-10' dividend: description: The dividend to be paid. type: - number - 'null' format: double example: 1.63 dividendYield: description: The dividend yield. type: - number - 'null' format: double example: 0.0543 dividendYieldPct: description: Dividend yield as a percentage. type: - number - 'null' format: double example: 5.43 frequency: description: 'The frequency of the dividend payout. The frequency numbers represent: 0: None, 1: Annual, 2: Bi-Annual, 3: Thrice Annual, 4: Quarterly, 5: Monthly, 6: Bi-Monthly, 7: To Be Determined, 8: Variable, 9: Not Available ' type: - integer - 'null' example: 4 indicatedAnnualDividend: description: the indicated annual dividend per share. type: - number - 'null' format: double example: 6.52 dividendRateForward: description: The forward dividend rate. type: - number - 'null' format: double example: 6.52 required: - symbol - announcementDate - exDividendDate - recordDate - paymentDate - dividend - dividendYield - dividendYieldPct - frequency - indicatedAnnualDividend - dividendRateForward '204': description: No Content '400': description: Bad Request '500': description: Internal Server Error /getDividendStocks.json: get: tags: - Splits, Dividends, and Earnings summary: getDividendStocks operationId: get-getDividendStocks description: The getDividendStocks API returns dividend info for all US instruments. parameters: - in: query name: apikey description: Enter the secret API key. required: true schema: type: string example: YOUR_API_KEY - in: query name: country description: The country code for which the instruments list is to be queried and returned. required: false schema: type: string example: US - in: query name: fields description: Request additional optional fields to be included in the output. required: false schema: type: string example: annualDividend 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: The instrument symbol. type: - string - 'null' example: AADR symbolName: description: The instrument name. type: - string - 'null' example: Advisorshares Dorsey Wright ETF exchange: description: The exchange code were the instrument trades. type: - string - 'null' example: AMEX instrumentType: description: The classification of the instrument. type: - string - 'null' example: etf hasDividends: description: Boolean field indicating whether the instrument has dividends or not. type: - string - 'null' example: '1' annualDividend: description: The annual dividend for the instrument. type: - number - 'null' format: double example: 0.067 annualDividendYield: description: The annual dividend yield for the instrument. type: - number - 'null' format: double example: 0.001 required: - symbol - symbolName - exchange - instrumentType - hasDividends '204': description: No Content '400': description: Bad Request '500': description: Internal Server Error /getCorporateActionsByExchange.json: get: tags: - Splits, Dividends, and Earnings summary: getCorporateActionsByExchange operationId: get-getCorporateActionsByExchange description: The getCorporateActions API from Barchart OnDemand provides splits or dividends data for US equities, mutual funds and Canadian equities by exchange. parameters: - in: query name: apikey description: Enter the secret API key. required: true schema: type: string example: YOUR_API_KEY - in: query name: type description: Type of action for which data is being requested. required: true schema: type: string enum: - dividend - split example: dividend - in: query name: exchanges description: 'A valid exchange code.
Available values (multiple values separated by a comma may be used): *NYSE, NASDAQ, AMEX, OTC-BB, LSE, TSX, TSX-V, ASX, CNSX, FUND, CADFUNDS*. ' required: true schema: type: string example: NYSE - in: query name: interval description: Set period in days for which the event data should be returned. required: false schema: type: string enum: - '0' - '1' - '2' - '3' - '4' - '5' - '6' - '7' - '8' - '9' - '10' - '11' - '12' - '13' - '14' - '15' - '16' - '17' - '18' - '19' - '20' - '21' - '22' - '23' - '24' - '25' - '26' - '27' - '28' - '29' - '30' example: '7' - in: query name: eventDates description: A comma separated list of dates for which event data should be returned. Dates need to be in [YYYYMMDD] format. required: false schema: type: string example: 20260722,20260630 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: AB exchange: description: Exchange code for the marketplace where the financial instruments are listed. type: - string - 'null' example: NYSE eventDate: description: The date in which the event occurred. type: - string - 'null' format: date example: '2021-02-19' eventType: description: The type of event. type: - string - 'null' example: dividend value: description: The split ratio, dividend amount or earnings amount. type: - number - 'null' format: double example: 0.97 required: - symbol - exchange - eventDate - eventType - value '204': description: No Content '400': description: Bad Request '500': description: Internal Server Error /getEarningsCalendar.json: get: tags: - Splits, Dividends, and Earnings summary: getEarningsCalendar operationId: get-getEarningsCalendar description: The getEarningsCalendar API provides the total number of upcoming earnings by date. And will also return the earnings data for the requested date. Please note that the output of this API will change based on the type of data requested. When requesting 'totals' (default type), it will return the date and total earnings for that date. And when requesting 'earnings' it will return earnings data for all symbols for the requested start date. parameters: - in: query name: apikey description: Enter the secret API key. required: true schema: type: string example: YOUR_API_KEY - in: query name: exchange description: The exchange(s) for which the data is requested. US-ALL and CA-ALL will query for all permitted US and Canadian exchanges for your account. required: true schema: type: string enum: - US-ALL - CA-ALL - AMEX - NASDAQ - NYSE - OTHER OTC - TSX - TSX-V - CNSX example: AMEX - in: query name: type description: A boolean parameter that when set to true, will return all earnings data for the requested start date. If no start date is passed, it will return the data for the current date. required: true schema: type: string enum: - totals - earnings - in: query name: startDate description: The start date for earnings total and the date for which the earnings information will be returned. required: false schema: type: string format: date - in: query name: endDate description: The end date for earnings total. This input parameter is ignored when requesting the actual earnings information. required: false schema: type: string format: date 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: date: description: The date for the data is returned. type: - string - 'null' format: date example: null totalEarnings: description: The total number of earnings data for the day. type: - integer - 'null' example: null symbol: description: A symbol or code that identifies a financial instrument. type: - string - 'null' example: null name: description: The name of the entity that the symbol or code represents. type: - string - 'null' example: null exchange: description: N/A type: - string - 'null' example: null timeCode: description: The time of day on which the earnings report is released. type: - string - 'null' example: null estimatedEarnings: description: The average analysts' estimate for earnings for the current quarter. type: - number - 'null' format: double example: null lastReportedEarnings: description: Last reported quarterly earnings, based on GAAP income from continuing operations. type: - number - 'null' format: double example: null lastEarningsSurpriseAmount: description: The difference between the estimated and reported earnings. type: - number - 'null' format: double example: null lastEarningsSurprisePercent: description: The difference between the estimated and reported earnings expressed as a percent. type: - number - 'null' format: double example: null required: - date - totalEarnings '204': description: No Content '400': description: Bad Request '500': description: Internal Server Error /getDividendsCalendar.json: get: tags: - Splits, Dividends, and Earnings summary: getDividendsCalendar operationId: get-getDividendsCalendar description: The getDividendsCalendar API provides the total number of upcoming dividends by date. And will also return the dividends data for the requested date. Please note that the output of this API will change based on the type of data requested. When requesting 'totals' (default type), it will return the date and total dividends for that date. And when requesting 'dividends' it will return dividend data for all symbols for the requested start date. parameters: - in: query name: apikey description: Enter the secret API key. required: true schema: type: string example: YOUR_API_KEY - in: query name: exchange description: The exchange(s) for which the data is requested. US-ALL and CA-ALL will query for all permitted US and Canadian exchanges for your account. required: true schema: type: string enum: - US-ALL - CA-ALL - AMEX - NASDAQ - NYSE - OTHER OTC - TSX - TSX-V - CNSX example: AMEX - in: query name: type description: A boolean parameter that when set to true, will return all dividends data for the requested start date. If no start date is passed, it will return the data for the current date. required: true schema: type: string enum: - totals - dividends example: totals - in: query name: startDate description: The start date for dividends total and the date for which the dividends information will be returned. required: false schema: type: string format: date - in: query name: endDate description: The end date for dividends total. This input parameter is ignored when requesting the actual dividends information. required: false schema: type: string format: date 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: date: description: The date for the data is returned. type: - string - 'null' format: date example: null totalDividends: description: The total number of dividends data for the day. type: - integer - 'null' example: null symbol: description: A symbol or code that identifies a financial instrument. type: - string - 'null' example: null name: description: The name of the entity that the symbol or code represents. type: - string - 'null' example: null exchange: description: N/A type: - string - 'null' example: null amount: description: The dollar amount of the dividend. type: - number - 'null' format: double example: null yield: description: Indicates how much a company pays out in dividends each year relative to its share price. Dividend yield% can be calculated by dividing the dollar value of dividends paid in a given year per share of stock held by the dollar value of one share of stock. type: - number - 'null' format: double example: null exDivDate: description: Normally two business days before the recorded payable date. If you purchase a stock on or after its ex-dividend date, you will not receive the next dividend payment. type: - string - 'null' format: date example: null payableDate: description: The date on which the dividend is payable. type: - string - 'null' format: date example: null required: - date - totalDividends '204': description: No Content '400': description: Bad Request '500': description: Internal Server Error /getEarningsAndDividendsCalendar.json: get: tags: - Splits, Dividends, and Earnings summary: getEarningsAndDividendsCalendar operationId: get-getEarningsAndDividendsCalendar description: The getEarningsAndDividendsCalendar API provides the total number of upcoming earnings and dividends by date. And will also return the earnings and dividends for the requested date. Please note that the output of this API will change based on the type of data requested. When requesting 'totals' (default type), it will return the date and total earnings and dividends for that date, when requesting 'earnings' it will return earnings data for all symbols for the requested start date, when requesting 'dividends' it will return dividend data for all symbols for the requested start date. And if the request type is 'earnings-dividends' then the output will be and earnings attribute that will have an array of objects with earnings data and a dividends attribute with an array of objects with the dividends data. parameters: - in: query name: apikey description: Enter the secret API key. required: true schema: type: string example: YOUR_API_KEY - in: query name: exchange description: The exchange(s) for which the data is requested. US-ALL and CA-ALL will query for all permitted US and Canadian exchanges for your account. required: true schema: type: string enum: - US-ALL - CA-ALL - AMEX - NASDAQ - NYSE - OTHER OTC - TSX - TSX-V - CNSX - in: query name: type description: A boolean parameter that when set to true, will return all earnings and dividends data for the requested start date. If no start date is passed, it will return the data for the current date. required: true schema: type: string enum: - totals - earnings - dividends - earnings-dividends - in: query name: startDate description: The start date for earnings and dividends total and the date for which the earnings and dividends information will be returned. required: false schema: type: string format: date - in: query name: endDate description: The end date for earnings and dividends total. This input parameter is ignored when requesting the actual earnings or dividends or earnings and dividends information. required: false schema: type: string format: date 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: date: description: The date for the data is returned. type: - string - 'null' format: date example: null totalEarnings: description: The total number of earnings data for the day. type: - integer - 'null' example: null totalDividends: description: The total number of dividends data for the day. type: - integer - 'null' example: null earnings: description: N/A type: - string - 'null' example: null dividends: description: N/A type: - string - 'null' example: null required: - date - totalEarnings - totalDividends '204': description: No Content '400': description: Bad Request '500': description: Internal Server Error