Dividend Calendar
curl --request GET \
--url https://api.tickdb.ai/v1/fundamentals/calendar/dividend \
--header 'X-API-Key: <api-key>'import requests
url = "https://api.tickdb.ai/v1/fundamentals/calendar/dividend"
headers = {"X-API-Key": "<api-key>"}
response = requests.get(url, headers=headers)
print(response.text)const options = {method: 'GET', headers: {'X-API-Key': '<api-key>'}};
fetch('https://api.tickdb.ai/v1/fundamentals/calendar/dividend', options)
.then(res => res.json())
.then(res => console.log(res))
.catch(err => console.error(err));<?php
$curl = curl_init();
curl_setopt_array($curl, [
CURLOPT_URL => "https://api.tickdb.ai/v1/fundamentals/calendar/dividend",
CURLOPT_RETURNTRANSFER => true,
CURLOPT_ENCODING => "",
CURLOPT_MAXREDIRS => 10,
CURLOPT_TIMEOUT => 30,
CURLOPT_HTTP_VERSION => CURL_HTTP_VERSION_1_1,
CURLOPT_CUSTOMREQUEST => "GET",
CURLOPT_HTTPHEADER => [
"X-API-Key: <api-key>"
],
]);
$response = curl_exec($curl);
$err = curl_error($curl);
curl_close($curl);
if ($err) {
echo "cURL Error #:" . $err;
} else {
echo $response;
}package main
import (
"fmt"
"net/http"
"io"
)
func main() {
url := "https://api.tickdb.ai/v1/fundamentals/calendar/dividend"
req, _ := http.NewRequest("GET", url, nil)
req.Header.Add("X-API-Key", "<api-key>")
res, _ := http.DefaultClient.Do(req)
defer res.Body.Close()
body, _ := io.ReadAll(res.Body)
fmt.Println(string(body))
}HttpResponse<String> response = Unirest.get("https://api.tickdb.ai/v1/fundamentals/calendar/dividend")
.header("X-API-Key", "<api-key>")
.asString();require 'uri'
require 'net/http'
url = URI("https://api.tickdb.ai/v1/fundamentals/calendar/dividend")
http = Net::HTTP.new(url.host, url.port)
http.use_ssl = true
request = Net::HTTP::Get.new(url)
request["X-API-Key"] = '<api-key>'
response = http.request(request)
puts response.read_body{
"code": 0,
"data": {
"from": "2023-12-25",
"to": "2023-12-25",
"events": [
{
"category": "<string>",
"event_datetime": "2023-11-07T05:31:56Z",
"symbol": "<string>",
"market": "US",
"event_type": "<string>",
"content": "<string>",
"counter_name": "<string>",
"date_type": "<string>",
"star": 123,
"currency": "<string>",
"issue_price": "<string>",
"data": [
{
"key": "<string>",
"value_type": "<string>",
"value_text": "<string>",
"value_raw": "<string>"
}
]
}
]
},
"page": {
"next_cursor": "<string>",
"limit": 250
}
}
Financial Calendar
Dividend Calendar
Query dividend distribution events.
GET
/
v1
/
fundamentals
/
calendar
/
dividend
Dividend Calendar
curl --request GET \
--url https://api.tickdb.ai/v1/fundamentals/calendar/dividend \
--header 'X-API-Key: <api-key>'import requests
url = "https://api.tickdb.ai/v1/fundamentals/calendar/dividend"
headers = {"X-API-Key": "<api-key>"}
response = requests.get(url, headers=headers)
print(response.text)const options = {method: 'GET', headers: {'X-API-Key': '<api-key>'}};
fetch('https://api.tickdb.ai/v1/fundamentals/calendar/dividend', options)
.then(res => res.json())
.then(res => console.log(res))
.catch(err => console.error(err));<?php
$curl = curl_init();
curl_setopt_array($curl, [
CURLOPT_URL => "https://api.tickdb.ai/v1/fundamentals/calendar/dividend",
CURLOPT_RETURNTRANSFER => true,
CURLOPT_ENCODING => "",
CURLOPT_MAXREDIRS => 10,
CURLOPT_TIMEOUT => 30,
CURLOPT_HTTP_VERSION => CURL_HTTP_VERSION_1_1,
CURLOPT_CUSTOMREQUEST => "GET",
CURLOPT_HTTPHEADER => [
"X-API-Key: <api-key>"
],
]);
$response = curl_exec($curl);
$err = curl_error($curl);
curl_close($curl);
if ($err) {
echo "cURL Error #:" . $err;
} else {
echo $response;
}package main
import (
"fmt"
"net/http"
"io"
)
func main() {
url := "https://api.tickdb.ai/v1/fundamentals/calendar/dividend"
req, _ := http.NewRequest("GET", url, nil)
req.Header.Add("X-API-Key", "<api-key>")
res, _ := http.DefaultClient.Do(req)
defer res.Body.Close()
body, _ := io.ReadAll(res.Body)
fmt.Println(string(body))
}HttpResponse<String> response = Unirest.get("https://api.tickdb.ai/v1/fundamentals/calendar/dividend")
.header("X-API-Key", "<api-key>")
.asString();require 'uri'
require 'net/http'
url = URI("https://api.tickdb.ai/v1/fundamentals/calendar/dividend")
http = Net::HTTP.new(url.host, url.port)
http.use_ssl = true
request = Net::HTTP::Get.new(url)
request["X-API-Key"] = '<api-key>'
response = http.request(request)
puts response.read_body{
"code": 0,
"data": {
"from": "2023-12-25",
"to": "2023-12-25",
"events": [
{
"category": "<string>",
"event_datetime": "2023-11-07T05:31:56Z",
"symbol": "<string>",
"market": "US",
"event_type": "<string>",
"content": "<string>",
"counter_name": "<string>",
"date_type": "<string>",
"star": 123,
"currency": "<string>",
"issue_price": "<string>",
"data": [
{
"key": "<string>",
"value_type": "<string>",
"value_text": "<string>",
"value_raw": "<string>"
}
]
}
]
},
"page": {
"next_cursor": "<string>",
"limit": 250
}
}
Plan Access
| Plan | Available |
|---|---|
| Free | ❌ |
| Starter | ✅ |
| Professional | ✅ |
| Full-Market Plans (A-Shares, HK Stocks, US Stocks) | ✅ |
| Enterprise | ✅ |
Notes
- The event category is fixed to
dividend(dividend distributions); do not sendcategory. fromdefaults to the current UTC date;todefaults to seven days afterfrom. Both endpoints of the date range are inclusive.- The default page size is 100; the maximum is 500. Omit
cursoron the first request. For subsequent pages, keep the filters unchanged and pass the previouspage.next_cursorverbatim until it isnull. If you omitted dates initially, use the first response’sdata.fromanddata.toon later pages. - If the API key is restricted to certain markets, send an allowed
market. An emptyeventsarray means no events matched.
Supported Markets
| Market | Examples |
|---|---|
| US Stocks | US |
| HK Stocks | HK |
| A-Shares | CN |
Request Parameters
| Parameter | Required | Description |
|---|---|---|
from | No | Inclusive start date, YYYY-MM-DD |
to | No | Inclusive end date, YYYY-MM-DD |
market | No* | Market filter: US, HK, or CN; required for market-restricted API keys |
symbols | No | Comma-separated stock symbols, up to 50 |
limit | No | Page size, 1–500; default 100 |
cursor | No | Next-page cursor; omit on the first request |
Request Example
curl -H "X-API-Key: YOUR_API_KEY" \
"https://api.tickdb.ai/v1/fundamentals/calendar/dividend?from=2026-09-21&to=2026-09-28&market=US&limit=100"
Response Fields
A successful response contains top-levelcode, data, and page fields.
| Field | Description |
|---|---|
| code | Business status code; 0 means success. |
| data | Date range and events on this page. |
| └─ from | Query start date, YYYY-MM-DD. |
| └─ to | Query end date, YYYY-MM-DD. |
| └─ events | Events on this page; an empty array if none match. |
| └─ event_datetime | Event time as a UTC date-time string. |
| └─ market | Associated market. |
| └─ symbol | Associated product symbol; may be empty when not applicable. |
| └─ category | Detailed event category; may be more specific than the request category. |
| └─ event_type | Event type. |
| └─ content | Event description. |
| └─ counter_name | Associated name; may be null. |
| └─ currency | Currency; may be null. |
| └─ star | Importance level. |
| └─ date_type | Event date type; may be null. |
| └─ data | Optional array of additional event data. |
| └─ key | Additional-data key. |
| └─ value_raw | Raw value; may be null. |
| └─ value_text | Display value; may be null. |
| └─ value_type | Value type. |
| page | Pagination information. |
| └─ next_cursor | Next-page cursor; null on the final page. |
| └─ limit | Current page limit. |
Authorizations
Query Parameters
Inclusive start date, YYYY-MM-DD
Inclusive end date, YYYY-MM-DD
Market filter: US, HK, or CN; required for market-restricted API keys
Available options:
US, HK, CN Comma-separated stock symbols, up to 50
Minimum string length:
1Examples:
"AAPL.US"
"AAPL.US,700.HK,600519.SH"
Page size, 1–500; default 100
Required range:
1 <= x <= 500Next-page cursor; omit on the first request
Minimum string length:
1