Bulk
Bulk Endpoint
/v2/bulkFan out a single endpoint across up to 100 symbols or ISINs in one request. Each entry is invoked concurrently against the target Lambda and results are returned as an array in the same order as the input.
Provide exactly one of symbols or isins. The params object is merged into every invocation for shared parameters (e.g., currency, date range).
Included in: Growth.
Authentication
Send your API key in the x-api-key header on every request to https://api.bavest.co. The samples read it from the BAVEST_API_KEY environment variable. Get an API key · Authentication guide
Parameters
This route takes no path or query parameters.
Try it
POST /v2/bulk
Sent only to api.bavest.co for this request; not stored.
Request body
Bulk invocation request with symbols/ISINs, target endpoint, and optional shared parameters.
symbolsarray of objectList of per-symbol parameter objects. Each object is merged with
paramsand sent to the target endpoint. Provide exactly one ofsymbolsorisins.symbolstringrequiredTicker symbol
Example
AAPLcurrencystringTarget currency (ISO 4217)
isinsarray of objectList of per-ISIN parameter objects. Each object is merged with
paramsand sent to the target endpoint. Provide exactly one ofsymbolsorisins.isinstringrequiredISIN code
endpointstringTarget endpoint key. Determines which Lambda is invoked for each entry. market_cap routes by the resolved bavest.security type to equity metrics (STOCK/EQUITY/ADR), ETF metrics (ETF/ETP), or fund metrics (MUTUAL_FUND). Returns the target metrics response with its metric names, units, currency, and pagination, selecting market_cap for equities and aum/fund_aum for funds by default. Fund AUM is not equity market capitalization. Use params.fields to override this selection and params.limit/offset to page it. dividends_history is an alias for dividend and etf_dividend and uses the dividend-history endpoint.
One of
searchetf_countryetf_profileetf_top_holdingsetf_top_sectorsetf_holdingsetf_sectoretf_metricsfund_metricsetf_dividendcrypto_pricedividendstock_profilestock_metricbalance_sheetcash_flowincome_statementfinancials_ttmestimates_consensusestimates_recommendationsdividends_historynews_stockmarket_capExample
etf_profileparamsobjectAdditional parameters passed to every invocation. Merged with each symbol/ISIN entry. Use for shared parameters like date ranges.
Response 200
Successful response · application/json
dataarray of BulkResultItemsymbolstringEchoed back from the request entry.
Example
AAPLisinstringEchoed back from the request entry.
Example
US0378331005validbooleanPresent and
falsewhen the invocation failed.errorstringError code (only on failure).
Example
LAMBDA_INVOCATION_FAILEDmessagestringError detail (only on failure).
metaResponseMetaResponse envelope metadata. Always present on a 200:
timeis set bycore/response.pyon every successful response. Errors carry the same block, built by the same code, so a client parses one meta shape whether the call succeeded or failed.timeintegerServer-side processing time in milliseconds
Example
17parametersobjectEcho of the request parameters the endpoint resolved
Errors
- 400Invalid request parameters. Returned when required query parameters are missing, have invalid types, or violate constraints (e.g., providing both symbol and isin when they are mutually exclusive).
- 401Missing or invalid API key.
- 404Resource not found.
- 429Rate limit exceeded. Retry after the `Retry-After` header interval.
- 500An unexpected error occurred on the server. If the issue persists, contact support with the X-Request-Id header value.
- 502Upstream data provider returned an error or is temporarily unavailable. Retry after a short delay.
- 504The request timed out waiting for a response from the upstream data provider. This may occur for complex queries or during peak load.
- defaultAn unexpected error occurred on the server. If the issue persists, contact support with the X-Request-Id header value.

