Estimates
Upgrades & Downgrades
/v2/estimates/upgrades-downgradesReturns analyst rating changes (upgrades, downgrades, initiations).
Each item is a weekly snapshot that lists every rating action known on
its date, so the newest snapshot holds the full history. By default
only the newest snapshot is returned; page back with offset or
cursor, at most 10 snapshots per request.
Included in: Startup, Pro, 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
Required: one of symbol, isin, for example symbol=AAPL.
| Name | In | Type | Required | Description |
|---|---|---|---|---|
| symbol | query | string | one of symbol, isin | Stock ticker symbol (e.g., Example |
| isin | query | string | one of symbol, isin | ISIN code (e.g., |
| limit | query | integer (int32) | no | Number of snapshots to return, newest first (default 1, max 10) Default |
| offset | query | integer (int32) | no | Number of results to skip for pagination (default 0) Default |
| cursor | query | string | no | Opaque cursor for cursor-based pagination. When provided, returns results after the cursor position. Takes precedence over offset. |
Try it
Stock ticker symbol (e.g., `AAPL`, `MSFT`, `GOOGL`). Provide exactly one of symbol or isin.
ISIN code (e.g., `US0378331005`). Provide exactly one of symbol or isin. Clear the symbol example before using an ISIN.
GET /v2/estimates/upgrades-downgrades?symbol=AAPL
Sent only to api.bavest.co for this request; not stored.
Response 200
Successful response · application/json
dataarray of UpgradeDowngradeRecorddatestring (date)requiredDate of the rating change.
symbolstringrequiredTicker symbol of the company.
Example
AAPLratingsarray of objectDetailed list of individual rating entries.
metaResponseMetaResponse metadata for paginated endpoints. Offset pagination returns
page/pageSize/totalPages/totalCount; cursor pagination returnspageSize/hasMore/nextCursorandtotalCountonly when known.timeintegerServer-side processing time in milliseconds
Example
17parametersobjectEcho of the request parameters the endpoint resolved
pageintegerCurrent page number (offset pagination)
Example
1pageSizeintegerNumber of results per page
Example
50totalPagesintegerTotal number of pages (offset pagination)
Example
2totalCountintegerTotal number of results across all pages
Example
100hasMorebooleanWhether more results follow (cursor pagination)
nextCursorstring | nullCursor for the next page (cursor pagination), null on the last page
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.

