- SECTIONS
With global coverage since 1999, the FactSet Estimates API provides comprehensive estimates and statistics on a wide variety of financial statement items as well as industry-specific metrics. The universe is comprised of over 19,000 active companies across 90+ countries with the following types of data included:
- Consensus
- Detail
- Ratings
- Surprise
- Segments
Learn more about the data items available by using the /metrics endpoint, giving you a list of all available items and their respective definitions.
New Estimates and Ratings Reports Endpoints:
For clients seeking curated and relevant financial data, the FactSet Estimates API now includes Estimates and Ratings Reports endpoints. These powerful endpoints are designed for easy integration and consumption, delivering a wide array of financial metrics, estimates, and critical statistics in a highly accessible format suitable for both mobile and web applications.
Whether you are an analyst, investor, or financial professional, the Estimates and Ratings Reports endpoints offer detailed and actionable financial insights that can support thorough analyses and strategic decision-making processes.
The Estimates and Ratings Reports endpoints are valuable for applications such as:
- Elevating Client Engagement: Enrich user experiences in client-facing applications with comprehensive and up-to-date financial metrics.
- Building Custom Reporting Tools: Create tailored dashboards and analytics tools that provide deep insights and foster better financial understanding.
By adopting the FactSet Estimates API with its enriched Estimates and Ratings Reports endpoints, businesses can streamline their financial data integration process, improve operational efficiency, and deliver superior financial insights to their clients and end-users.
Download API Specification:
To programmatically download the FactSet Estimates API Specification file in .yaml format, utilize the link below. You must be authorized for this API to extract the specification. This specification can then be used for Codegen to create your own SDKs. You can also access it by selecting the "Download Spec" button beside the version information.
Download FactSet Estimates API Specification
API Rate Limits:
This API is rate-limited to 10 requests per second and 10 concurrent requests per user.
# Imports
import pandas as pd
import time
# FDS Packages
import fds.sdk.FactSetEstimates # To install, please use "pip install fds.sdk.FactSetEstimates==1.1.2"
from fds.sdk.FactSetEstimates.api import data_items_api,broker_detail_api,consensus_api,ratings_api,segments_api,surprise_api
from fds.sdk.FactSetEstimates.models import *
from fds.sdk.utils.authentication import ConfidentialClient # To install, please use "pip install fds.sdk.utils"
# Authentication using OAuth
configuration = fds.sdk.FactSetEstimates.Configuration(
fds_oauth_client=ConfidentialClient('<PATH_TO_CONFIG_FILE>') # Path to config file from OAuth registration
)
# Get Consensus Estimates Data
with fds.sdk.FactSetEstimates.ApiClient(configuration) as api_client:
# Create Instance
api_instance = consensus_api.ConsensusApi(api_client)
# Request Object to Define Parameters
rolling_consensus_request = RollingConsensusRequest(
ids = Ids(["AAPL-US"]),
metrics = Metrics(["SALES"]),
start_date = "2019-01-01",
end_date = "2019-12-31",
frequency = Frequency("AM"),
relative_fiscal_start = 1,
relative_fiscal_end = 3,
periodicity = Periodicity("ANN"),
currency = "USD",
)
# Send Request
api_response = api_instance.get_rolling_consensus_for_list(rolling_consensus_request)
# Convert to Pandas Dataframe
results = pd.DataFrame(api_response.to_dict()['data'])
print(results)
2.5.0
Summary
Modifying Request and Response fields of Estimates APIs to behave like Standard Data Feeds.
Changes
New Parameter
- includeAll - Added 'includeAll' in Broker Detail endpoints as an optional parameter to display excluded brokers.
- Example:
includeAll=true
- Example:
New Response Fields
Added 'brokerEstimateCurrency' and 'lastModifiedDate' fields to GET and POST responses of /factset-estimates/v2/detail endpoints.
-
brokerEstimateCurrency - Represents the currency of the broker's estimate.
- Example: brokerEstimateCurrency: "USD"
-
lastModifiedDate - Indicates the date of the last estimate modification.
- Example: lastModifiedDate: "2023-07-01"
Enhancement
- Estimate API now supports 'ESTIMATE' as currency value, with the addition of 'estimateCurrency' field in the response to display Estimate Currency when currency is ‘ESTIMATE’. These changes align the API display with Standard data feeds.
2.3.1
Summary
Adding the inputDateTime field which gives date and time when the data is available at the source to /fixed-detail, /rolling-detail and /detail-ratings endpoints for Estimates API.
2.3.0
Summary
Expanding our overall Estimates content offering with the new /segments endpoint which will allow users to request FactSet Estimates Data for the segments gathered from the Business, Geographical, or Actual Reconciliation (ADJUSTMENT) classifications by using fiscal periods with a reporting frequency.
Functionality Additions
New Endpoint
- /segments - Retrieves product segment estimates for a requested list of ids and fiscal periods.
2.2.0
Summary
Expanding our overall content offering within Estimates to include Consensus & Broker level Ratings. This gives users the ability to retrieve Buy, Hold, Sell, Overweight, and Underweight ratings and the total counts associated.
Functionality Additions
New Endpoints
- /detail-ratings - Retrieves the Broker Level ratings for the requested ID and date range. Ratings include Buy, Hold, Sell, Overweight, and Underweight.
- /consensus-ratings - Retrieves Consensus ratings for the requested ID and date range. Ratings include Buy, Hold, Sell, Overweight, and Underweight.
Changes
Introduced Ratings Tag
2.1.0
Summary
New Endpoints:
- /rolling-detail - fetch Broker Level Estimates on a rolling-period basis
- /fixed-detail - fetch Broker Level Estimates on a fixed-period basis
Functionality Additions
New Endpoints:
Broker Detail: Updated intraday, the FactSet detail estimates apis provide individual broker-level estimates collected from over 800 sell-side analysts. This database contains 20+ years of broker history across more than 59,000 global companies. Entitlements must be established the appropriate brokerage firm to access the content.
- /rolling-detail - fetch Broker Level Estimates on a rolling-period basis.
- /fixed-detail - fetch Broker Level Estimates on a fixed-period basis
2.0.0
Summary
Major version upgrade to include significant performance enhancements, use of multiple metrics in a single request, increased id limits, and a helper endpoint to retrieve currently supported items.
Functionality Additions
- Multiple Metrics: Use of multiple metrics in a single request, enabling the request to include a list of items - such as PE, EPS, and ROA. Use the /metrics endpoint for a full list of metrics.
- Id Limits: number of ids in a single request increased from 100 to 3,000 in a single request.
- Performance: increased performance across all current endpoints allowing for larger requests with more history.
- Periodicity: LTMA (last-twelve months) & NTMA (Next-Twelve Months)
- Metrics Endpoint: /metrics is now available, allowing programmatic access to all available data items that can be used as input to other endpoint within the respective 'metric' parameter.
- Surprise Statistics - COUNT and STDEV are added as options for surprise consensus calculations
Changes
- Frequency Support: The service will no longer support M, CQ, FQ, FY, CY, CSA, FSA. Available frequency: D, W, AM, AQ, and AY.
- Surprise Endpoint
- priceImpact response item is temporarily removed. Will be restored in future release.
- LAST statistic is removed.