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

ParameterTypeRequiredDescription
symbolsconst web::json::value&YesJSON symbol array, for example ["AAPL"]
marketutility::string_tIn the first overloadMarket such as US, HK, or CN; the second overload always uses US
fieldsconst web::json::value&YesJSON daily-financial field array, for example ["shares_outstanding"]
begin_datetime_tYesQuery-range start as a Unix timestamp in milliseconds
end_datetime_tYesQuery-range end as a Unix timestamp in milliseconds
langutility::string_tNoLanguage, 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

ParameterTypeRequiredDescription
symbolsconst web::json::value&YesJSON symbol array, with up to 20 symbols; for example ["TIGR"]
marketutility::string_tIn the first overloadMarket such as US, HK, or CN; the second overload always uses US
fieldsconst web::json::value&YesJSON financial-field array, for example ["total_assets", "total_asset_turnover"]
period_typeutility::string_tNoReport period; defaults to Quarterly. Pass a server-supported period such as Annual or LTM when needed.
begin_datetime_tNoFinancial-period-end range start as a Unix timestamp in milliseconds; omitted when less than or equal to zero.
end_datetime_tNoFinancial-period-end range end as a Unix timestamp in milliseconds; omitted when less than or equal to zero.
langutility::string_tNoLanguage, 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

ParameterTypeRequiredDescription
symbolsconst web::json::value&YesJSON symbol array, for example ["AAPL"]
marketutility::string_tNoMarket, such as US; handled by the server when omitted
langutility::string_tNoLanguage, 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

ParameterTypeRequiredDescription
currency_listconst web::json::value&YesJSON currency-pair array, for example ["USD/CNH"]
begin_dateutility::string_tNoStart date in yyyy-MM-dd format
end_dateutility::string_tNoEnd date in yyyy-MM-dd format
timezoneutility::string_tNoTime zone
langutility::string_tNoLanguage, 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;

Did this page help you?