Bulk

Bulk Endpoint

POST/v2/bulk

Fan 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.

Sign in to sendGet an API keySends with the key above, or sign in to use your account's key. Each request counts as one API call.

Request body

Bulk invocation request with symbols/ISINs, target endpoint, and optional shared parameters.

  • symbolsarray of object

    List of per-symbol parameter objects. Each object is merged with params and sent to the target endpoint. Provide exactly one of symbols or isins.

    • symbolstringrequired

      Ticker symbol

      Example AAPL

    • currencystring

      Target currency (ISO 4217)

  • isinsarray of object

    List of per-ISIN parameter objects. Each object is merged with params and sent to the target endpoint. Provide exactly one of symbols or isins.

    • isinstringrequired

      ISIN code

  • endpointstring

    Target 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 search etf_country etf_profile etf_top_holdings etf_top_sectors etf_holdings etf_sector etf_metrics fund_metrics etf_dividend crypto_price dividend stock_profile stock_metric balance_sheet cash_flow income_statement financials_ttm estimates_consensus estimates_recommendations dividends_history news_stock market_cap

    Example etf_profile

  • paramsobject

    Additional 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 BulkResultItem
    • symbolstring

      Echoed back from the request entry.

      Example AAPL

    • isinstring

      Echoed back from the request entry.

      Example US0378331005

    • validboolean

      Present and false when the invocation failed.

    • errorstring

      Error code (only on failure).

      Example LAMBDA_INVOCATION_FAILED

    • messagestring

      Error detail (only on failure).

  • metaResponseMeta

    Response envelope metadata. Always present on a 200: time is set by core/response.py on 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.

    • timeinteger

      Server-side processing time in milliseconds

      Example 17

    • parametersobject

      Echo 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.

For AI agents: this page as Markdown at /docs/v2_bulk.md, every route in /llms.txt, the OpenAPI spec at /openapi.json.