Work with this as data
Every API here is available over the APIs.io API and to AI agents over MCP.
MCP server
One button, every client — Claude, Cursor, VS Code and the rest.
https://apis.io/mcp
Tools for apis
7 MCP tools reach this
find_apisBrowse and filter every API in the catalog.get_api_artifactsOne API's artifacts, grouped by type.get_openapiThe primary OpenAPI for this API.find_similar_apisAPIs that look like this one.apis_io_searchSTART HERE — APIs, providers and tags for one query, each with its total.resolveTurn a domain, URL or GitHub org into the provider it belongs to.find_cohortsEvery scored population of providers in the catalog.
Call it yourself
curl for this page
This API
curl "https://apis.io/api/v1/apis/aiera:aiera-calendar-v2-api"
All apis
curl "https://apis.io/api/v1/apis?limit=25"
Calls without X-API-Key need no key. Calls with it need a paid plan — get a key.
Get an API key
Free tier, no form to fill in. Signing in shares your email address with us — we store it to create your key and to recognise you if you sign in with another provider. See our Privacy Policy and Terms.
A second provider on the same verified email joins the account you already have.
OpenAPI Specification
openapi: 3.2.0
info:
title: Aiera REST Calendar v2 API
version: '1.0'
description: Aiera financial data API
servers:
- url: https://rest-api.aiera.com/api
security:
- apiKeyHeader: []
tags:
- name: Calendar v2
description: Event calendar, coverage, and estimates
paths:
/calendar-v2/:
get:
tags:
- Calendar v2
summary: Get Calendar
description: 'Retrieve calendar events filtered by specific equities or watchlists, with flexible date ranges and event type filtering.
**Notes:**
- `modified_since` can be used to synchronize with an external system.
- All dates (`event_date`, `created`, `modified`) are in Eastern Time (America/New_York timezone) and formatted in ISO 8601.
- By default, `start_date` and `end_date` are set to +/- 2 weeks.
- Only **one** of the equity identifiers (`bloomberg_ticker`, `isin`, `cusip`, `permid`, `ric`, or `ticker`) should be used per request. Using multiple equity identifier query parameters will end up resolving only one of them.
- You can only pull a maximum of 365 days worth of calendar data at a time (using `start_date` and `end_date`, or `modified_since`). You could extend this range to 730 days by filtering to specific equities using one of the supported identifiers (or the `watchlist_id` parameter).'
operationId: get_get_calendar
security:
- apiKeyHeader: []
parameters:
- name: start_date
in: query
description: Start date (default 2 weeks ago)
schema:
type: string
format: date-time
- name: end_date
in: query
description: End date (default 2 weeks from now)
schema:
type: string
format: date-time
- name: event_type
in: query
description: Event types to include
schema:
type: array
items:
type: string
enum:
- earnings
- presentation
- shareholder_meeting
- investor_meeting
- special_situation
- earnings_release
- name: modified_since
in: query
description: Returns events modified after the date passed in
schema:
type: string
format: date-time
- name: bloomberg_ticker
in: query
description: Filter to one or more Bloomberg tickers, comma-separated
schema:
type: string
- name: isin
in: query
description: Filter to one or more ISINs, comma-separated
schema:
type: string
- name: cusip
in: query
description: Filter to one or more CUSIPs, comma-separated
schema:
type: string
- name: ric
in: query
description: Filter to one or more RICs, comma-separated
schema:
type: string
- name: ticker
in: query
description: Filter to one or more ticker symbols, comma-separated
schema:
type: string
- name: permid
in: query
description: Filter to one or more PermIDs, comma-separated
schema:
type: string
- name: watchlist_id
in: query
description: Filter to a watchlist ID
schema:
type: integer
- name: company_rollup
in: query
description: Whether to roll up matches to the corresponding company entity
schema:
type: boolean
- name: include_deleted
in: query
description: Whether to include deleted event records (for reconciliation)
schema:
type: boolean
- name: include_private
in: query
description: Whether to include private events
schema:
type: boolean
- name: sort_key
in: query
description: Sort key for results
schema:
type: string
enum:
- event_id_asc
- event_id_desc
- event_date_asc
- event_date_desc
- name: page
in: query
description: Page number
schema:
type: integer
default: 1
- name: page_size
in: query
description: Results per page
schema:
type: integer
default: 100
minimum: 10
maximum: 100
responses:
'400':
description: Bad request
'200':
description: Success
content:
application/json:
schema:
$ref: '#/components/schemas/CalendarResponse'
/calendar-v2/coverage:
get:
tags:
- Calendar v2
summary: Calendar Coverage
description: 'Fetch calendar coverage information (companies and equities).
**Notes:**
- Only **one** of the equity identifiers (`bloomberg_ticker`, `isin`, `cusip`, `ric`, or `permid`) should be used per request. Using multiple equity identifier query parameters will end up resolving only one of them.
- When filtering by a specific identifier or `watchlist_id`, the response includes a `results` object containing matched company and equity details in addition to the `counts` summary. When no filter is applied, only `counts` is returned.
- The equity schema in this endpoint uses `gics_subsector` (no underscore). Note that this differs from the `/calendar-v2/estimated` endpoint, which uses `gics_sub_sector` (with underscore).'
operationId: get_equities_covered
security:
- apiKeyHeader: []
parameters:
- name: bloomberg_ticker
in: query
description: Filter to one or more Bloomberg tickers, comma-separated
schema:
type: string
- name: isin
in: query
description: Filter to one or more ISINs, comma-separated
schema:
type: string
- name: cusip
in: query
description: Filter to one or more CUSIPs, comma-separated
schema:
type: string
- name: ric
in: query
description: Filter to one or more RICs, comma-separated
schema:
type: string
- name: ticker
in: query
description: Filter to one or more ticker symbols, comma-separated
schema:
type: string
- name: permid
in: query
description: Filter to one or more PermIDs, comma-separated
schema:
type: string
- name: watchlist_id
in: query
description: Filter to a watchlist ID
schema:
type: integer
- name: company_rollup
in: query
description: Whether to roll up matches to the corresponding company entity
schema:
type: boolean
responses:
'400':
description: Bad request
'200':
description: Success
content:
application/json:
schema:
$ref: '#/components/schemas/CoverageResponse'
/calendar-v2/estimated:
get:
tags:
- Calendar v2
summary: Estimated Events
description: 'Retrieve estimated events filtered by ticker, date range, and other equity identifiers.
**Notes:**
- Access to this endpoint requires explicit permissions to be enabled on your API key. If you receive a 403 error or empty results, contact your Aiera account team to have estimated events access activated.
- All dates are in Eastern Time (America/New_York timezone) and formatted in ISO 8601.
- Only **one** of the equity identifiers (`bloomberg_ticker`, `isin`, `ric`, or `permid`) should be used per request. Using multiple equity identifier query parameters will end up resolving only one of them.
- Each result includes `created` and `modified` timestamps (Eastern Time, ISO 8601) indicating when the estimate was first created and last updated.
- The equity schema in this endpoint uses `gics_sub_sector` (with underscore). Note that this differs from the `/calendar-v2/coverage` endpoint, which uses `gics_subsector` (no underscore).'
operationId: get_get_event_estimates
security:
- apiKeyHeader: []
parameters:
- name: start_date
in: query
description: Start date (default now)
schema:
type: string
format: date-time
- name: end_date
in: query
description: End date (default 26 weeks from now)
schema:
type: string
format: date-time
- name: bloomberg_ticker
in: query
description: Filter to one or more Bloomberg tickers, comma-separated (e.g. AAPL:US)
schema:
type: string
- name: isin
in: query
description: Filter to one or more ISINs, comma-separated
schema:
type: string
- name: permid
in: query
description: Filter to one or more PermIDs, comma-separated
schema:
type: string
- name: ric
in: query
description: Filter to one or more RICs, comma-separated
schema:
type: string
- name: ticker
in: query
description: Filter to one or more ticker symbols, comma-separated
schema:
type: string
- name: event_ids
in: query
description: Filter to one or more event IDs, comma-separated
schema:
type: array
items:
type: string
- name: page
in: query
description: Page number
schema:
type: integer
default: 1
- name: page_size
in: query
description: Results per page
schema:
type: integer
default: 100
minimum: 10
maximum: 100
responses:
'400':
description: Bad request
'200':
description: Success
content:
application/json:
schema:
$ref: '#/components/schemas/EstimatesResponse'
/calendar-v2/{event_id}:
get:
tags:
- Calendar v2
summary: Get Calendar Event
description: Fetch a single calendar event by ID
operationId: get_get_calendar_entry
security:
- apiKeyHeader: []
parameters:
- name: event_id
in: path
required: true
description: The event id to fetch the calendar info for
schema:
type: string
responses:
'404':
description: Event not found
'200':
description: Success
content:
application/json:
schema:
$ref: '#/components/schemas/CalendarEvent'
components:
schemas:
EstimateEquity:
properties:
equity_id:
type: integer
description: Equity ID
name:
type: string
description: Equity name
common_name:
type: string
description: Common name
local_ticker:
type: string
description: Local ticker
mic:
type: string
description: Exchange MIC
bloomberg_ticker:
type: string
description: Bloomberg ticker
isin:
type: string
description: ISIN
permid:
type: string
description: PermID
gics_sector:
type: string
description: GICS sector name
gics_sub_sector:
type: string
description: GICS sub-sector name
type: object
EstimateActual:
properties:
event_id:
type: integer
description: Actual event ID
call_type:
type: string
description: Actual event type
call_date:
type: string
format: date-time
description: Actual date
title:
type: string
description: Actual event title
type: object
EstimateItem:
properties:
estimate_id:
type: integer
description: Estimate ID
created:
type: string
format: date-time
description: Created date
modified:
type: string
format: date-time
description: Modified date
equity:
description: Associated equity
allOf:
- $ref: '#/components/schemas/EstimateEquity'
estimate:
description: Estimated event details
allOf:
- $ref: '#/components/schemas/EstimateDetail'
actual:
description: Matched actual event, if any
allOf:
- $ref: '#/components/schemas/EstimateActual'
type: object
CalendarEquity:
properties:
equity_id:
type: integer
description: Equity ID
local_ticker:
type: string
description: Local ticker
bloomberg_ticker:
type: string
description: Bloomberg ticker
ric:
type: string
description: Reuters/Refinitiv RIC
permid:
type: string
description: PermID
isin:
type: string
description: ISIN
exchange_mic:
type: string
description: Exchange MIC
type: object
CoverageCounts:
properties:
companies:
type: integer
description: Number of companies covered
equities:
type: integer
description: Number of equities covered
gics_sectors:
type: object
description: Count by GICS sector
gics_subsectors:
type: object
description: Count by GICS sub-sector
countries:
type: object
description: Count by country
regions:
type: object
description: Count by region
subregions:
type: object
description: Count by subregion
type: object
EstimateDetail:
properties:
call_type:
type: string
description: Estimated event type
call_date:
type: string
format: date-time
description: Estimated date
title:
type: string
description: Estimated event title
type: object
CalendarResponse:
properties:
params:
type: object
description: Echoed request parameters
pagination:
description: Pagination metadata
allOf:
- $ref: '#/components/schemas/CalendarPagination'
data:
type: array
description: List of events
items:
$ref: '#/components/schemas/CalendarEvent'
type: object
CalendarPagination:
properties:
total_count:
type: integer
description: Total number of results
current_page:
type: integer
description: Current page number
total_pages:
type: integer
description: Total number of pages
page_size:
type: integer
description: Number of results on this page
type: object
CalendarEvent:
properties:
event_id:
type: integer
description: Event ID
event_title:
type: string
description: Event title
event_type:
type: string
description: Event type
enum:
- custom
- earnings
- earnings_release
- investor_meeting
- presentation
- shareholder_meeting
- special_situation
event_date:
type: string
format: date-time
description: Event date
equity:
description: Associated equity
allOf:
- $ref: '#/components/schemas/CalendarEquity'
has_unknown_time:
type: boolean
description: Whether event time is unknown (with connections permission)
connection_expected:
type: boolean
description: Whether a connection is expected (with connections permission)
broadcast_url:
type: string
description: Webcast URL (with connections permission)
replay_url:
type: string
description: Replay URL (with connections permission)
conference_number:
type: string
description: Conference dial-in number (with connections permission)
conference_pin:
type: string
description: Conference PIN (with connections permission)
slides_url:
type: string
description: Slides URL (with extras permission)
press_url:
type: string
description: Press release URL (with extras permission)
transcription_status:
type: string
description: Transcription status (with extras permission)
enum:
- agent_connected
- archived
- connected
- finished
- missed
- started
- submitted
transcription_audio_url:
type: string
description: Audio URL (with extras permission)
status:
type: string
description: Event status
enum:
- active
- deleted
created:
type: string
format: date-time
description: Created date
modified:
type: string
format: date-time
description: Modified date
type: object
CoverageResponse:
properties:
counts:
description: Coverage counts and breakdowns
allOf:
- $ref: '#/components/schemas/CoverageCounts'
results:
type: object
description: Company details (when identifier filter is provided)
type: object
EstimatesResponse:
properties:
params:
type: object
description: Echoed request parameters
pagination:
description: Pagination metadata
allOf:
- $ref: '#/components/schemas/CalendarPagination'
results:
type: array
description: List of estimates
items:
$ref: '#/components/schemas/EstimateItem'
type: object
securitySchemes:
apiKeyHeader:
type: apiKey
in: header
name: X-API-Key
description: Issued API key
apiKeyQuery:
type: apiKey
in: query
name: api_key
description: Issued API key
x-provenance:
method: harvested
publisher: Aiera
source: https://premium.aiera.com/api/swagger.json
note: split by refine-openapis from the provider's own published document, verified by fetch (openapi/_original/*.fetch.json);
stamped by stamp-openapi-provenance.py (roadmap#793)