Get Financial Data
The C++ SDK supports daily-financial, financial-report, reporting-currency, and historical-exchange-rate queries. Daily-financial and financial-report access requires the relevant market-data entitlement.
Get Daily Financial Data
Method Signatures
web::json::value QuoteClient::get_financial_daily(
const web::json::value& symbols,
utility::string_t market,
const web::json::value& fields,
time_t begin_date,
time_t end_date,
utility::string_t lang = U(""));
web::json::value QuoteClient::get_financial_daily(
const web::json::value& symbols,
const web::json::value& fields,
time_t begin_date,
time_t end_date,
utility::string_t lang = U(""));The second overload uses the US market by default. Both start and end dates are required.
Parameters
| Parameter | Type | Required | Description |
|---|---|---|---|
| symbols | const web::json::value& | Yes | JSON symbol array, for example ["AAPL"] |
| market | utility::string_t | In the first overload | Market such as US, HK, or CN; the second overload always uses US |
| fields | const web::json::value& | Yes | JSON daily-financial field array, for example ["shares_outstanding"] |
| begin_date | time_t | Yes | Query-range start as a Unix timestamp in milliseconds |
| end_date | time_t | Yes | Query-range end as a Unix timestamp in milliseconds |
| lang | utility::string_t | No | Language, for example zh_CN or en_US |
Use Utils::date_string_to_timestamp() to convert a yyyy-MM-dd date into the required millisecond timestamp.
Response
web::json::value. The SDK returns the server's data array unchanged. Each item includes symbol, field, date, and value.
Example
web::json::value symbols = web::json::value::array();
symbols[0] = web::json::value::string(U("AAPL"));
web::json::value fields = web::json::value::array();
fields[0] = web::json::value::string(U("shares_outstanding"));
const time_t begin_date = Utils::date_string_to_timestamp(U("2025-01-01"));
const time_t end_date = Utils::date_string_to_timestamp(U("2025-01-31"));
auto result = quote_client.get_financial_daily(
symbols, U("US"), fields, begin_date, end_date);
ucout << result.serialize() << std::endl;Get Financial Reports
Method Signatures
web::json::value QuoteClient::get_financial_report(
const web::json::value& symbols,
utility::string_t market,
const web::json::value& fields,
utility::string_t period_type = U("Quarterly"),
time_t begin_date = -1,
time_t end_date = -1,
utility::string_t lang = U(""));
web::json::value QuoteClient::get_financial_report(
const web::json::value& symbols,
const web::json::value& fields,
utility::string_t period_type = U("Quarterly"),
time_t begin_date = -1,
time_t end_date = -1,
utility::string_t lang = U(""));The second overload uses the US market by default. Both overloads default to Quarterly reports.
Parameters
| Parameter | Type | Required | Description |
|---|---|---|---|
| symbols | const web::json::value& | Yes | JSON symbol array, with up to 20 symbols; for example ["TIGR"] |
| market | utility::string_t | In the first overload | Market such as US, HK, or CN; the second overload always uses US |
| fields | const web::json::value& | Yes | JSON financial-field array, for example ["total_assets", "total_asset_turnover"] |
| period_type | utility::string_t | No | Report period; defaults to Quarterly. Pass a server-supported period such as Annual or LTM when needed. |
| begin_date | time_t | No | Financial-period-end range start as a Unix timestamp in milliseconds; omitted when less than or equal to zero. |
| end_date | time_t | No | Financial-period-end range end as a Unix timestamp in milliseconds; omitted when less than or equal to zero. |
| lang | utility::string_t | No | Language, for example zh_CN or en_US |
Use Utils::date_string_to_timestamp() to convert a yyyy-MM-dd date into the required millisecond timestamp.
Response
web::json::value. The SDK returns the server's data array unchanged. Each item includes symbol, currency, field, value, filingDate, and periodEndDate.
Example
web::json::value symbols = web::json::value::array();
symbols[0] = web::json::value::string(U("TIGR"));
web::json::value fields = web::json::value::array();
fields[0] = web::json::value::string(U("total_assets"));
fields[1] = web::json::value::string(U("total_asset_turnover"));
const time_t begin_date = Utils::date_string_to_timestamp(U("2025-01-01"));
auto result = quote_client.get_financial_report(
symbols, U("US"), fields, U("Quarterly"), begin_date);
ucout << result.serialize() << std::endl;Response Example
[
{
"symbol": "TIGR",
"currency": "USD",
"field": "total_assets",
"value": "8.567835806999999E9",
"filingDate": "2025-08-27",
"periodEndDate": "2025-06-30"
}
]Get Financial Currencies
Method Signature
web::json::value QuoteClient::get_financial_currency(
const web::json::value& symbols,
utility::string_t market = U(""),
utility::string_t lang = U(""));Parameters
| Parameter | Type | Required | Description |
|---|---|---|---|
| symbols | const web::json::value& | Yes | JSON symbol array, for example ["AAPL"] |
| market | utility::string_t | No | Market, such as US; handled by the server when omitted |
| lang | utility::string_t | No | Language, such as zh_CN or en_US |
Response
web::json::value. The SDK returns the server payload unchanged; use serialize() to print the JSON.
Example
web::json::value symbols = web::json::value::array();
symbols[0] = web::json::value::string(U("AAPL"));
auto result = quote_client.get_financial_currency(symbols, U("US"));
ucout << result.serialize() << std::endl;Get Financial Exchange Rates
Method Signature
web::json::value QuoteClient::get_financial_exchange_rate(
const web::json::value& currency_list,
utility::string_t begin_date = U(""),
utility::string_t end_date = U(""),
utility::string_t timezone = U(""),
utility::string_t lang = U(""));Parameters
| Parameter | Type | Required | Description |
|---|---|---|---|
| currency_list | const web::json::value& | Yes | JSON currency-pair array, for example ["USD/CNH"] |
| begin_date | utility::string_t | No | Start date in yyyy-MM-dd format |
| end_date | utility::string_t | No | End date in yyyy-MM-dd format |
| timezone | utility::string_t | No | Time zone |
| lang | utility::string_t | No | Language, such as zh_CN or en_US |
Response
web::json::value. The SDK returns the server payload unchanged; use serialize() to print the JSON.
Example
web::json::value currencies = web::json::value::array();
currencies[0] = web::json::value::string(U("USD/CNH"));
auto result = quote_client.get_financial_exchange_rate(
currencies, U("2025-01-01"), U("2025-01-31"));
ucout << result.serialize() << std::endl;Updated about 13 hours ago
