openapi: 3.0.0 info: version: 2.1.0 title: FactSet Fundamentals API contact: name: FactSet Research Systems email: api@factset.com url: https://developer.factset.com/contact license: name: Apache License, Version 2.0 url: https://www.apache.org/licenses/LICENSE-2.0 description: > Gain access to current, comprehensive, and comparative information on securities in worldwide developed and emerging markets. Composed of annual and interim/quarterly data, detailed historical financial statement content, per-share data, and calculated ratios, FactSet Fundamentals provides you with the information you need for a global investment perspective. externalDocs: description: API Documentation url: https://developer.factset.com/api-catalog/factset-fundamentals-api servers: - url: https://api.factset.com/content/factset-fundamentals/v2 description: Production security: - FactSetApiKey: [] - FactSetOAuth2: [] paths: /fundamentals: get: tags: - Fundamentals summary: Factset Returns Company Fundamental Data. operationId: getFdsFundamentals x-factset-sdk-ignore: true description: > Retrieves FactSet Fundamental standardized data for specified securities. Use the ```/metrics``` endpoint to retrieve a full list of valid metrics or data items. The ```/fundamentals``` endpoint currently supports Long Running asynchronous requests up to **20 minutes** via batch parameter. Id limits are increased to 2000 ids per request when using batch capability. This 2000 id limit has been derived based on single metric for one day. This feature is available for all users. parameters: - $ref: '#/components/parameters/idsBatchMax2000' - $ref: '#/components/parameters/periodicity' - $ref: '#/components/parameters/fiscalPeriodStart' - $ref: '#/components/parameters/fiscalPeriodEnd' - $ref: '#/components/parameters/metrics' - $ref: '#/components/parameters/currency' - $ref: '#/components/parameters/updateType' - $ref: '#/components/parameters/batch' responses: '200': description: Fundamental data items content: application/json: schema: $ref: '#/components/schemas/fundamentalsResponse' examples: Result of Single Company (FDS-US), sales(FF_SALES) details for the given period: $ref: '#/components/examples/resultOfSingleIdwithSingleMetricItem' Result of Multiple companies single metric item details: $ref: '#/components/examples/resultOfMultipleIdwithSingleMetricItem' Result of Single Company (FDS-US), and Multiple Metrics (FF_SALES, FF_PE): $ref: '#/components/examples/resultOfSingleIdwithMultipleMetricItem' '202': description: Batch request has been accepted. content: application/json: schema: $ref: '#/components/schemas/BatchStatusResponse' examples: Batch Request Accepted: $ref: '#/components/examples/BatchStatusAcceptedResponse' headers: Location: description: Path to Batch Request status. schema: type: string example: batch-status?id=2df43e85-ea0f-45c6-bf4a-2baf4d1eaa3c '400': $ref: '#/components/responses/400' '401': $ref: '#/components/responses/401' '403': $ref: '#/components/responses/403' '415': $ref: '#/components/responses/415' '500': $ref: '#/components/responses/500' post: tags: - Fundamentals summary: Factset Returns Company Fundamental Data. description: > Retrieves FactSet Fundamental standardized data for specified securities. Use the ```/metrics``` endpoint to retrieve a full list of valid metrics or data items. The ```/fundamentals``` endpoint currently supports Long Running asynchronous requests up to **20 minutes** via batch parameter. Id limits are increased to 30000 ids per request when using batch capability. This 30000 id limit has been derived based on single metric for one day. This feature is available for all users. operationId: getFdsFundamentalsForList requestBody: required: true description: Request object for requesting fundamentals data content: application/json: schema: $ref: '#/components/schemas/fundamentalsRequest' examples: Single Company (FDS-US), sales(FF_SALES) details for the given period: $ref: '#/components/examples/postBodyOfSingleIdwithSingleMetricItem' Multiple Companies single metric item details: $ref: '#/components/examples/postBodyOfMultipleIdwithSingleMetricItem' Single Company (FDS-US), and Multiple Metrics (FF_SALES, FF_PE): $ref: '#/components/examples/postBodyOfSingleIdwithMultipleMetricItem' Batch Request for (FDS-US), and Multiple Metrics (FF_SALES, FF_PE): $ref: '#/components/examples/BatchFundamentalsRequestPost' responses: '200': description: Fundamental data items content: application/json: schema: $ref: '#/components/schemas/fundamentalsResponse' examples: Result of Single Company (FDS-US), sales(FF_SALES) details for the given period: $ref: '#/components/examples/resultOfSingleIdwithSingleMetricItem' Result of Multiple Companies single metric item details: $ref: '#/components/examples/resultOfMultipleIdwithSingleMetricItem' Result of Single Company (FDS-US), and Multiple Metrics (FF_SALES, FF_PE): $ref: '#/components/examples/resultOfSingleIdwithMultipleMetricItem' '202': description: Batch request has been accepted. content: application/json: schema: $ref: '#/components/schemas/BatchStatusResponse' examples: Batch Request Accepted: $ref: '#/components/examples/BatchStatusAcceptedResponse' headers: Location: description: Path to Batch Request status. schema: type: string example: batch-status?id=2df43e85-ea0f-45c6-bf4a-2baf4d1eaa3c '400': $ref: '#/components/responses/400' '401': $ref: '#/components/responses/401' '403': $ref: '#/components/responses/403' '415': $ref: '#/components/responses/415' '500': $ref: '#/components/responses/500' /segments: get: tags: - Segments summary: Factset Returns Company Segments data. operationId: getFdsSegments x-factset-sdk-ignore: true description: > Retrieves Fundamentals Metrics data for individual companies. The ```/segments``` endpoint currently supports Long Running asynchronous requests up to **20 minutes** via batch parameter. Id limits are increased to 2000 ids per request when using batch capability.This 2000 id limit has been derived based on single metric for one day. This feature is available for all users. parameters: - $ref: '#/components/parameters/idsBatchMax2000' - $ref: '#/components/parameters/segmentsPeriodicity' - $ref: '#/components/parameters/fiscalPeriodStart' - $ref: '#/components/parameters/fiscalPeriodEnd' - $ref: '#/components/parameters/segmentsMetrics' - $ref: '#/components/parameters/segmentType' - $ref: '#/components/parameters/batch' responses: '200': description: Segment data items content: application/json: schema: $ref: '#/components/schemas/segmentsResponse' examples: Result of Single Company (AAPL-US), sales(SALES) details for the given period: $ref: >- #/components/examples/resultOfSingleIdwithSingleMetricItemSegment Result of Multiple Companies' single metric item details: $ref: >- #/components/examples/resultOfMultipleIdwithSingleMetricItemSegment '202': description: Batch request has been accepted. content: application/json: schema: $ref: '#/components/schemas/BatchStatusResponse' examples: Batch Request Accepted: $ref: '#/components/examples/BatchStatusAcceptedResponse' headers: Location: description: Path to Batch Request status. schema: type: string example: batch-status?id=2df43e85-ea0f-45c6-bf4a-2baf4d1eaa3c '400': $ref: '#/components/responses/400' '401': $ref: '#/components/responses/401' '403': $ref: '#/components/responses/403' '415': $ref: '#/components/responses/415' '500': $ref: '#/components/responses/500' post: tags: - Segments summary: Factset Returns Company Segment Data. description: > Retrieves Sales Metrics data for specified companies. The ```/segments``` endpoint currently supports Long Running asynchronous requests up to **20 minutes** via batch parameter. Id limits are increased to 30000 ids per request when using batch capability.This 30000 id limit has been derived based on single metric for one day. This feature is available for all users. operationId: getFdsSegmentsForList requestBody: required: true description: Request object for requesting segments data content: application/json: schema: $ref: '#/components/schemas/segmentsRequest' examples: Single Company (AAPL-US), sales(SALES) details for the given period: $ref: >- #/components/examples/postBodyOfSingleIdwithSingleMetricItemSegment Multiple Companies single metric item details: $ref: >- #/components/examples/postBodyOfMultipleIdwithSingleMetricItemSegment Batch Request for (FDS-US), and Multiple Metrics (SALES): $ref: '#/components/examples/batchSegmentsRequestPost' responses: '200': description: Segment data items content: application/json: schema: $ref: '#/components/schemas/segmentsResponse' examples: Result of Single Company (FDS-US), sales(FF_SALES) details for the given period: $ref: >- #/components/examples/resultOfSingleIdwithSingleMetricItemSegment Result of Multiple companies single metric item details: $ref: >- #/components/examples/resultOfMultipleIdwithSingleMetricItemSegment '202': description: Batch request has been accepted. content: application/json: schema: $ref: '#/components/schemas/BatchStatusResponse' examples: Batch Request Accepted: $ref: '#/components/examples/BatchStatusAcceptedResponse' headers: Location: description: Path to Batch Request status. schema: type: string example: batch-status?id=2df43e85-ea0f-45c6-bf4a-2baf4d1eaa3c '400': $ref: '#/components/responses/400' '401': $ref: '#/components/responses/401' '403': $ref: '#/components/responses/403' '415': $ref: '#/components/responses/415' '500': $ref: '#/components/responses/500' /metrics: get: summary: Returns available FactSet Fundamental metrics and ratios. operationId: getFdsFundamentalsMetrics tags: - Metrics description: > Returns list of available FF_* metrics that can be used in the `metrics` parameter of related endpoints. These are related to FactSet Fundamentals standardized data. As Reported will be available in future endpoints. Leave Category and Subcategory blank to request all available items. The Endpoint Data model is optimized for time-series data with periodicity. Some items in this list are non-time series. **For methodology definitions, reference the `OApageID` or `OAurl` response items to launch the available methodology page.** parameters: - $ref: '#/components/parameters/category' - $ref: '#/components/parameters/subcategory' - $ref: '#/components/parameters/metricDataType' responses: '200': description: Fundamental data metric items content: application/json: schema: $ref: '#/components/schemas/metricsResponse' '400': $ref: '#/components/responses/400' '401': $ref: '#/components/responses/401' '403': $ref: '#/components/responses/403' '415': $ref: '#/components/responses/415' '500': $ref: '#/components/responses/500' /batch-status: get: tags: - Batch Status summary: |- Factset Returns the status for a Batch Request description: >- Return the status for the underlying batch request that is specified by the id. operationId: getBatchStatus parameters: - $ref: '#/components/parameters/batchId' responses: '201': description: >- The batch Request has been completed and the response has been created. headers: Location: description: Path to Batch Request result. schema: type: string example: batch-result?id=2df43e85-ea0f-45c6-bf4a-2baf4d1eaa3c content: application/json: schema: $ref: '#/components/schemas/BatchStatusResponse' examples: Batch Status Done: $ref: '#/components/examples/BatchStatusDoneResponse' '202': description: >- The batch Request has not finished and the result has NOT been created. content: application/json: schema: $ref: '#/components/schemas/BatchStatusResponse' examples: Batch Status Queued: $ref: '#/components/examples/BatchStatusQueuedResponse' Batch Status Executing: $ref: '#/components/examples/BatchStatusExecutingResponse' Batch Status Failed: $ref: '#/components/examples/BatchStatusFailedResponse' '404': $ref: '#/components/responses/404' deprecated: false /batch-result: get: tags: - Batch Result summary: |- Factset Returns the response for a Batch Request description: > Returns the response data for the underlying batch request that is specified by the id. By default, this endpoint will return data as JSON. If you wish to receive your data in CSV format, you can edit the header to have the "accept" parameter as "text/csv" instead of "application/json". operationId: getBatchData parameters: - $ref: '#/components/parameters/batchId' responses: '200': description: >- Request Response Object when the batch request has been completed and the response is created content: application/json: schema: $ref: '#/components/schemas/batchResultResponse' examples: Fundamentals endpoint response of Single Company (FDS-US), and Multiple Metrics (FF_SALES, FF_PE): $ref: '#/components/examples/resultOfSingleIdwithMultipleMetricItem' Segments endpoint response of Single Company (AAPL-US), sales(SALES) details for the given period: $ref: >- #/components/examples/resultOfSingleIdwithSingleMetricItemSegment '202': description: >- The batch Request has not finished and the result has NOT been created. content: application/json: schema: $ref: '#/components/schemas/BatchStatusResponse' examples: Batch Request Queued: $ref: '#/components/examples/BatchStatusQueuedResponse' Batch Request Executing: $ref: '#/components/examples/BatchStatusExecutingResponse' '404': $ref: '#/components/responses/404' deprecated: false components: securitySchemes: FactSetOAuth2: type: oauth2 flows: clientCredentials: tokenUrl: https://auth.factset.com/as/token.oauth2 scopes: {} FactSetApiKey: type: http scheme: basic parameters: idsBatchMax2000: name: ids in: query schema: type: array items: type: string minItems: 1 maxItems: 2000 required: true explode: false description: >- The requested list of security identifiers. Accepted ID types include Market Tickers, SEDOL, ISINs, CUSIPs, or FactSet Permanent Ids.
***ids limit** = 1000 per non-batch request / 2000 per batch request*
*Make note, GET Method URL request lines are also limited to a total length of 8192 bytes (8KB). In cases where the service allows for thousands of ids, which may lead to exceeding this request line limit of 8KB, it's advised for any requests with large request lines to be requested through the respective "POST" method.
* examples: oneEquityId: summary: One Equity Market Identifier value: - AAPL-USA multipleEquityIds: summary: Multiple Equity Market Identifiers value: - FDS-US - AAPL-US - MSFT-US periodicity: name: periodicity in: query schema: type: string enum: - ANN - ANN_R - QTR - QTR_R - SEMI - SEMI_R - LTM - LTM_R - LTM_SEMI - LTMSG - YTD default: ANN required: false description: > Periodicity or frequency of the fiscal periods, where * **ANN** = Annual - Original, * **ANN_R** = Annual - Latest - *Includes Restatements*, * **QTR** = Quarterly - Original, * **QTR_R** = Quarterly - Latest - *Includes Restatements*, * **SEMI** = Semi-Annual, * **SEMI_R** = Semi-Annual - Latest - *Includes Restatements*, * **LTM** = Last Twelve Months, * **LTM_R** = Last Twelve Months - Latest - *Includes Restatements*, * **LTMSG** = Last Twelve Months Global [OA17959](https://my.apps.factset.com/oa/pages/17959), * **LTM_SEMI** = Last Twelve Months, Semi-Annually Reported Data, * **YTD** = Year-to-date.*When requesting multiple metrics, you cannot mix metric data types (e.g. strings and floats). Please use /metrics endpoints for context on metric dataType to avoid null data.*
***metrics limit** = 1600 per request*
*Make note, GET Method URL request lines are also limited to a total length of 8192 bytes (8KB). In cases where the service allows for thousands of metrics, which may lead to exceeding this request line limit of 8KB, its advised for any requests with large request lines to be requested through the respective "POST" method.
* schema: type: array items: type: string example: - FF_SALES - FF_EPS - FF_PE minItems: 1 maxItems: 1600 examples: Single Metric: summary: FF_SALES value: - FF_SALES Multiple Metrics: summary: FF_SALES, FF_EPS, FF_PE value: - FF_SALES - FF_EPS - FF_PE segmentsMetrics: name: metrics in: query required: true explode: false description: > Metrics are the data items available for business and geographic segments, where * **SALES** = Sales/Revenue - Total revenues from the business line/geographic region, * **OPINC** = Operating Income/Loss - Operating income generated from the business line/geographic region, * **ASSETS** = Total Assets - Total assets from the business line/geographic region, * **DEP** = Depreciation Exp - Depreciation expense resulting from the business line/geographic segment, * **CAPEX** = Capital Expenditures - Capital expenditures resulting from the business line/geographic region schema: type: string enum: - SALES - OPINC - ASSETS - DEP - CAPEX example: SALES segmentType: name: segmentType in: query schema: type: string enum: - BUS - GEO default: BUS required: false description: | Segment type for the metrics, where * **BUS** = Business, * **GEO** = Geographic examples: BUS: summary: BUS - Business. value: BUS GEO: summary: GEO - Geographic. value: GEO batch: name: batch in: query description: > Enables the ability to asynchronously "batch" the request, supporting a long-running request for up to 20 minutes. Upon requesting batch=Y, the service will respond with an HTTP Status Code of 202. Once a batch request is submitted, use batch status to see if the job has been completed. Once completed, retrieve the results of the request via batch-result. When using Batch, ids limit is increased to 30000 ids per request, though limits on query string via GET method still apply. It's advised to submit large lists of ids via POST method. schema: type: string enum: - 'Y' - 'N' default: 'N' batchId: name: id in: query description: Batch Request identifier. schema: type: string format: uuid required: true allowEmptyValue: false currency: name: currency in: query description: > Currency code for currency values. For a list of currency ISO codes, visit Online Assistant Page [OA1470](https://my.apps.factset.com/oa/pages/1470). Giving input as "DOC" would give the values in reporting currency for the requested ids. required: false schema: type: string default: LOCAL example: USD updateType: name: updateType in: query schema: type: string enum: - RP - RF default: RP required: false description: | Update Status Flag: * **RP** = Include preliminary data, * **RF** = Only final data examples: ANN: summary: RP - Include preliminary data. value: RP QTR: summary: RF - Only final data. value: RF category: name: category in: query schema: type: string enum: - INCOME_STATEMENT - BALANCE_SHEET - CASH_FLOW - RATIOS - FINANCIAL_SERVICES - INDUSTRY_METRICS - PENSION_AND_POSTRETIREMENT - MARKET_DATA - MISCELLANEOUS - DATES required: false description: | Filters the list of FF_* metrics by major category - * **INCOME_STATEMENT** = Income Statement line items, such as Sales, Gross Profit, Net Income. * **BALANCE_SHEET** = Balance Sheet line items, such as Assets, Liabilities, and Shareholders Equity. * **CASH_FLOW** = Cash Flow Statement line items, such as Financing activities, Operation, and Per Share. * **RATIOS** = Pre-calculated Ratios, including Financial, Growth Rates, Profitability, Liquidity, Size, and Valuation. * **FINANCIAL_SERVICES** = Financial Statement Items modified for Financial Services companies. * **INDUSTRY_METRICS** = Industry Specific Line Items or Modifications. View subcategory for list of Industries. * **PENSION_AND_POSTRETIREMENT** = Accumulated Pension Benefit Obligations and related data. * **MARKET_DATA** = General Market Data, such as Shares Outstanding. *Note - /factset-prices/prices/ endpoints may be better suited for pricing-related market data.* * **MISCELLANEOUS** = Corporation Data, Financial Records details, Indicators. * **DATES** = Relevant Dates examples: INCOME_STATEMENT: summary: INCOME_STATEMENT - Income Statement. value: INCOME_STATEMENT BALANCE_SHEET: summary: BALANCE_SHEET - Balance Sheet. value: BALANCE_SHEET CASH_FLOW: summary: CASH_FLOW - Cash Flow Statement. value: CASH_FLOW RATIOS: summary: RATIOS - Pre-calculated Ratios. value: RATIOS FINANCIAL_SERVICES: summary: FINANCIAL_SERVICES - Financial Statement. value: FINANCIAL_SERVICES INDUSTRY_METRICS: summary: INDUSTRY_METRICS - Industry Specific. value: INDUSTRY_METRICS PENSION_AND_POSTRETIREMENT: summary: >- PENSION_AND_POSTRETIREMENT - Accumulated Pension Benefit Obligations. value: PENSION_AND_POSTRETIREMENT MARKET_DATA: summary: MARKET_DATA - General Market Data. value: MARKET_DATA MISCELLANEOUS: summary: >- MISCELLANEOUS - Corporation Data, Financial Records details, Indicators. value: MISCELLANEOUS DATES: summary: DATES - Relevant Dates. value: DATES subcategory: name: subcategory in: query schema: type: string enum: - ASSETS - BALANCE_SHEET - HEALTHCARE - LIABILITIES - PER_SHARE - SHAREHOLDERS_EQUITY - SUPPLEMENTAL - CASH_FLOW - CHANGE_IN_CASH - FINANCING - INVESTING - OPERATING - DATES - INCOME_STATEMENT - NON-OPERATING - RETAIL - AIRLINES - BANK - BANKING - HOTELS_AND_GAMING - METALS_AND_MINING - OIL_AND_GAS - PHARMACEUTICAL - REIT - MARKET_DATA - CLASSIFICATION - CORPORATE_DATA - FINANCIAL_RECORDS - INDICATOR - EMPLOYEES_AND_MANAGEMENT - PENSION_AND_POSTRETIREMENT - FINANCIAL - GROWTH_RATE - LIQUIDITY - PROFITABILITY - SIZE - VALUATION - OTHER - HOMEBUILDING - NET_INCOME - TELECOM - UTILITY - INSURANCE required: false description: > Sub-Category Filter for the Primary Category Requested. Choose a related sub-category for the Category requested- * **INCOME_STATEMENT** - INCOME_STATEMENT, NON-OPERATING, PER_SHARE, SUPPLEMENTAL, OTHER * **BALANCE_SHEET** - ASSETS, BALANCE_SHEET, HEALTHCARE, LIABILITIES, PER_SHARE, SHAREHOLDERS_EQUITY, SUPPLEMENTAL * **CASH_FLOW** - CASH_FLOW, CHANGE_IN_CASH, FINANCING, INVESTING, OPERATING, PER_SHARE, SUPPLEMENTAL * **RATIOS** - FINANCIAL, GROWTH_RATE, LIQUIDITY, PROFITABILITY, SIZE, VALUATION * **FINANCIAL_SERVICES** - BALANCE_SHEET, INCOME_STATEMENT, SUPPLEMENTAL * **INDUSTRY_METRICS** - AIRLINES, BANKING, HOTELS_AND_GAMING, METALS_AND_MINING, OIL_AND_GAS, PHARMACEUTICAL, REIT, RETAIL, BANK, INSURANCE, UTILITY * **PENSION_AND_POSTRETIREMENT** - PENSION_AND_POSTRETIREMENT * **MARKET_DATA** - MARKET_DATA * **MISCELLANEOUS** - CLASSIFICATION, CORPORATE_DATA, FINANCIAL_RECORDS, INDICATOR, EMPLOYEES_AND_MANAGEMENT * **DATES** - DATES examples: INCOME_STATEMENT_INCOME_STATEMENT: summary: INCOME_STATEMENT - INCOME_STATEMENT value: INCOME_STATEMENT INCOME_STATEMENT_OPERATING: summary: INCOME_STATEMENT - NON-OPERATING value: OPERATING INCOME_STATEMENT_PER_SHARE: summary: INCOME_STATEMENT - PER_SHARE value: PER_SHARE INCOME_STATEMENT_SUPPLEMENTAL: summary: INCOME_STATEMENT - SUPPLEMENTAL value: SUPPLEMENTAL INCOME_STATEMENT_NET_INCOME: summary: INCOME_STATEMENT - NET_INCOME value: NET_INCOME INCOME_STATEMENT_OTHER: summary: INCOME_STATEMENT - OTHER value: OTHER BALANCE_SHEET_ASSETS: summary: BALANCE_SHEET - ASSETS value: ASSETS BALANCE_SHEET_BALANCE_SHEET: summary: BALANCE_SHEET - BALANCE_SHEET value: BALANCE_SHEET BALANCE_SHEET_HEALTHCARE: summary: BALANCE_SHEET - HEALTHCARE value: HEALTHCARE BALANCE_SHEET_LIABILITIES: summary: BALANCE_SHEET - LIABILITIES value: LIABILITIES BALANCE_SHEET_PER_SHARE: summary: BALANCE_SHEET - PER_SHARE value: PER_SHARE BALANCE_SHEET_SHAREHOLDERS_EQUITY: summary: BALANCE_SHEET - SHAREHOLDERS_EQUITY value: SHAREHOLDERS_EQUITY BALANCE_SHEET_SUPPLEMENTAL: summary: BALANCE_SHEET - SUPPLEMENTAL value: SUPPLEMENTAL CASH_FLOW_CASH_FLOW: summary: CASH_FLOW - CASH_FLOW value: CASH_FLOW CASH_FLOW_CHANGE_IN_CASH: summary: CASH_FLOW - CHANGE_IN_CASH value: CHANGE_IN_CASH CASH_FLOW_FINANCING: summary: CASH_FLOW - FINANCING value: FINANCING CASH_FLOW_INVESTING: summary: CASH_FLOW - INVESTING value: INVESTING CASH_FLOW_OPERATING: summary: CASH_FLOW - OPERATING value: OPERATING CASH_FLOW_PER_SHARE: summary: CASH_FLOW - PER_SHARE value: PER_SHARE CASH_FLOW_SUPPLEMENTAL: summary: CASH_FLOW - SUPPLEMENTAL value: SUPPLEMENTAL RATIOS_FINANCIAL: summary: RATIOS - FINANCIAL value: FINANCIAL RATIOS_GROWTH_RATE: summary: RATIOS - GROWTH_RATE value: GROWTH_RATE RATIOS_LIQUIDITY: summary: RATIOS - LIQUIDITY value: LIQUIDITY RATIOS_PROFITABILITY: summary: RATIOS - PROFITABILITY value: PROFITABILITY RATIOS_SIZE: summary: RATIOS - SIZE value: SIZE RATIOS_VALUATION: summary: RATIOS - VALUATION value: VALUATION FINANCIAL_SERVICES_BALANCE_SHEET: summary: FINANCIAL_SERVICES - BALANCE_SHEET value: BALANCE_SHEET FINANCIAL_SERVICES_INCOME_STATEMENT: summary: FINANCIAL_SERVICES - INCOME_STATEMENT value: INCOME_STATEMENT FINANCIAL_SERVICES_SUPPLEMENTAL: summary: FINANCIAL_SERVICES - SUPPLEMENTAL value: SUPPLEMENTAL INDUSTRY_METRICS_AIRLINES: summary: INDUSTRY_METRICS - AIRLINES value: AIRLINES INDUSTRY_METRICS_BANKING: summary: INDUSTRY_METRICS - BANKING value: BANKING INDUSTRY_METRICS_HOMEBUILDING: summary: INDUSTRY_METRICS - HOMEBUILDING value: HOMEBUILDING INDUSTRY_METRICS_HOTELS_AND_GAMING: summary: INDUSTRY_METRICS - HOTELS_AND_GAMING value: HOTELS_AND_GAMING INDUSTRY_METRICS_METALS_AND_MINING: summary: INDUSTRY_METRICS - METALS_AND_MINING value: METALS_AND_MINING INDUSTRY_METRICS_OIL_AND_GAS: summary: INDUSTRY_METRICS - OIL_AND_GAS value: OIL_AND_GAS INDUSTRY_METRICS_PHARMACEUTICAL: summary: INDUSTRY_METRICS - PHARMACEUTICAL value: PHARMACEUTICAL INDUSTRY_METRICS_REIT: summary: INDUSTRY_METRICS - REIT value: REIT INDUSTRY_METRICS_RETAIL: summary: INDUSTRY_METRICS - RETAIL value: RETAIL INDUSTRY_METRICS_BANK: summary: INDUSTRY_METRICS - BANK value: BANK INDUSTRY_METRICS_INSURANCE: summary: INDUSTRY_METRICS - INSURANCE value: INSURANCE INDUSTRY_METRICS_UTILITY: summary: INDUSTRY_METRICS - UTILITY value: UTILITY INDUSTRY_METRICS_TELECOM: summary: INDUSTRY_METRICS - TELECOM value: TELECOM PENSION_AND_POSTRETIREMENT_PENSION_AND_POSTRETIREMENT: summary: PENSION_AND_POSTRETIREMENT - PENSION_AND_POSTRETIREMENT value: PENSION_AND_POSTRETIREMENT MARKET_DATA_MARKET_DATA: summary: MARKET_DATA - MARKET_DATA value: MARKET_DATA MISCELLANEOUS_CLASSIFICATION: summary: MISCELLANEOUS - CLASSIFICATION value: CLASSIFICATION MISCELLANEOUS_CORPORATE_DATA: summary: MISCELLANEOUS - CORPORATE_DATA value: CORPORATE_DATA MISCELLANEOUS_FINANCIAL_RECORDS: summary: MISCELLANEOUS - FINANCIAL_RECORDS value: FINANCIAL_RECORDS MISCELLANEOUS_INDICATOR: summary: MISCELLANEOUS - INDICATOR value: INDICATOR MISCELLANEOUS_EMPLOYEES_AND_MANAGEMENT: summary: MISCELLANEOUS - EMPLOYEES_AND_MANAGEMENT value: EMPLOYEES_AND_MANAGEMENT DATES_DATES: summary: DATES - DATES value: DATES metricDataType: name: metricDataType in: query schema: type: string required: false description: > Returns general data type of the metrics like integer, float or strings, when left blankmetrics with all data types would be returned examples: integer: summary: Integer Metrics value: integer float: summary: Float and Double Metrics value: float string: summary: String Metrics value: string empty: summary: return all datatypes value: '' schemas: fundamentalsRequest: title: Fundamentals Request Body description: Fundamentals request body elements type: object properties: data: $ref: '#/components/schemas/fundamentalRequestBody' required: - data fundamentalRequestBody: title: Fundamentals Request Body description: Fundamentals request body elements type: object properties: ids: $ref: '#/components/schemas/idsBatchMax30000' periodicity: $ref: '#/components/schemas/periodicity' fiscalPeriod: $ref: '#/components/schemas/fundamentalFiscalPeriod' metrics: $ref: '#/components/schemas/metrics' currency: $ref: '#/components/schemas/currency' updateType: $ref: '#/components/schemas/updateType' batch: $ref: '#/components/schemas/batch' required: - ids - metrics fundamentalsResponse: type: object title: Fundamentals Response description: Array of Fundamentals Objects properties: data: type: array items: $ref: '#/components/schemas/fundamental' fundamental: title: Fundamental Object type: object required: - fiscalPeriod description: FactSet Fundamentals Response item properties: requestId: description: Identifier that was used for the request. type: string example: IBM-US fsymId: description: >- FactSet Regional Security Identifier. Six alpha-numeric characters, excluding vowels, with an -R suffix (XXXXXX-R). Identifies the security's best regional security data series per currency. For equities, all primary listings per region and currency are allocated a regional-level permanent identifier. The regional-level permanent identifier will be available once a SEDOL representing the region/currency has been allocated and the identifiers are on FactSet. type: string example: SJY281-R nullable: true metric: description: >- The requested `metric` input, representing the Fundamental Data Item. For a definition of the item please use the /fundamentals/v#/metrics endpoint. type: string example: FF_SALES nullable: true periodicity: description: >- Periodicity or frequency of the fiscal periods, where ANN = Annual Original, ANN_R = Annual Latest, QTR = Quarterly Original, QTR_R = Quarterly Latest, SEMI = Semi-Annual Original, SEMI_R = Semi-Annual Latest, LTM = Last Twelve Months Original, LTM_R = Last Twelve Months Latest, LTMSG = Last Twelve Months Global, [OA17959](https://my.apps.factset.com/oa/pages/17959), LTM_SEMI = Last Twelve Months - Semi-Annual Data and YTD = Year-to-date. Please note that the coverage for SEMI_R and LTM_R may be limited as fewer companies report with these periodicities. type: string example: QTR enum: - ANN - ANN_R - QTR - QTR_R - SEMI - SEMI_R - CAL - LTM - LTM_R - LTMSG - LTM_SEMI - YTD nullable: true fiscalPeriod: description: >- Fiscal Period indicator. Returns an integer representing the fiscal period for the requested item and periodicity. QUARTERLY CODE: 1-Fist Quarter; 2-Second Quarter; 3-Third Quarter; 4-Fourth Quarter. SEMI-CODE: 1-First Semi-annual Period; 2-Second Semi-annual Period. type: integer example: 4 nullable: true fiscalYear: description: Fiscal year of the reported period in YYYY format. type: integer example: 2018 nullable: true fiscalPeriodLength: description: Length of the fiscal period in days. type: integer example: 91 nullable: true fiscalEndDate: description: The normalized data the fiscal period ended. type: string format: date example: '2017-12-31' nullable: true reportDate: description: The date the reported fiscal period ended. type: string format: date example: '2017-12-30' nullable: true epsReportDate: description: >- The date the EPS was reported for the requested periodicity. In YYYY-MM-DD format. Unavailable data returned as 0001-01-01. type: string format: date example: '2018-02-24' nullable: true updateType: description: >- Update Type: Preliminary - The period is updated from a report that usually contains limited or only key information., Final - The period is updated from a report where detailed information is available in financial statements including the notes to the line items. type: string example: Preliminary nullable: true enum: - Preliminary - Final currency: description: >- Currency code for the data. For a list of currency ISO codes, visit [Online Assistant Page #1470](https://oa.apps.factset.com/pages/1470). type: string example: USD nullable: true value: $ref: '#/components/schemas/fundamentalValue' fundamentalValue: description: >- Value of the data metric requested. Note that the type of value is 'object', and depending on the data metric requested, the value could be an object representation of a string or double. oneOf: - type: string nullable: true - type: number format: double nullable: true segmentsRequest: title: Segments Request Body description: Segments request body elements type: object properties: data: $ref: '#/components/schemas/segmentRequestBody' required: - data segmentRequestBody: title: Segments Request Body description: Segments request body elements type: object properties: ids: $ref: '#/components/schemas/idsBatchMax30000' periodicity: $ref: '#/components/schemas/segmentsPeriodicity' fiscalPeriod: $ref: '#/components/schemas/fundamentalFiscalPeriod' metrics: $ref: '#/components/schemas/segmentsMetrics' segmentType: $ref: '#/components/schemas/segmentType' batch: $ref: '#/components/schemas/batch' required: - ids - metrics segmentsResponse: type: object title: Segments Response description: Array of Segments Objects properties: data: type: array items: $ref: '#/components/schemas/segment' segment: title: Segment Object type: object required: - label properties: requestId: description: Identifier that was used for the request. type: string example: AAPL-US fsymId: description: >- FactSet Regional Security Identifier. Six alpha-numeric characters, excluding vowels, with an -R suffix (XXXXXX-R). Identifies the security's best regional security data series per currency. For equities, all primary listings per region and currency are allocated a regional-level permanent identifier. The regional-level permanent identifier will be available once a SEDOL representing the region/currency has been allocated and the identifiers are on FactSet. type: string example: MH33D6-R nullable: true metric: description: >- The requested `metric` input, representing the Fundamental Data Item. For a definition of the item please use the /fundamentals/v#/metrics endpoint. type: string example: SALES nullable: true label: description: Report labels of the segment type requested. type: string example: iPhone nullable: true date: description: Date for the period requested expressed in YYYY-MM-DD format type: string format: date example: '2022-09-30' nullable: true value: $ref: '#/components/schemas/segmentValue' segmentValue: description: >- Value of the data metric requested. Note that the type of value is 'object', and depending on the data metric requested, the value could be an object representation of a string or double. oneOf: - type: string nullable: true - type: number format: double nullable: true metricsResponse: type: object title: Metrics Response properties: data: description: > Array of metric objects representing the metrics that can be requested from the fundamentals APIs. type: array items: $ref: '#/components/schemas/metric' metric: title: Metric Object type: object properties: metric: description: >- Metric identifier to be used as `metrics` input in `/fundamentals/v#/fundamentals` endpoint. type: string example: FF_ASSETS nullable: true name: description: Plain text name of the metric. type: string example: Total Assets nullable: true category: description: >- Primary Category of metric item, such as, INCOME_STATEMENT, BALANCE_SHEET, CASH_FLOW, or RATIOS. type: string example: BALANCE_SHEET nullable: true subcategory: description: >- Sub-category of metric item, such as ASSETS, SUPPLEMENTAL, SHAREHOLDERS_EQUITY, VALUATION, PROFITABILITY, etc. type: string example: ASSETS nullable: true oaPageId: description: >- The Online Assistant Page ID in D***** format, used to look up the definition and methodology of the requested item. Visit my.apps.factset.com/oa/pages/[D*****] for details. For example, https://my.apps.factset.com/oa/pages/D10585 will give you the definition for FF_SALES. type: string example: D10585 nullable: true oaUrl: description: >- The Online Assistant Page URL, is used to look up the definition and methodology of the requested item. For example, https://my.apps.factset.com/oa/pages/D10585 will give you the definition for FF_SALES. type: string example: https://my.apps.factset.com/oa/pages/D10585 nullable: true factor: description: The factor for the metric (e.g. 1000 = thousands). type: integer example: 1000000 nullable: true sdfPackage: description: >- An indicator for which Standard Data Feed (SDF) package the item is available in - BASIC or ADVANCED. A null value represents items available only in API. type: string enum: - BASIC - ADVANCED example: BASIC nullable: true dataType: description: > The data type for the metric. Make note, mixing data types within a single /fundamentals API is not supported. Each dataType is defined below - * **date** - date format expressed in YYYY-MM-DD. * **doubleArray** - A double is a FactSet data type, similar to a float or an integer. A double represents numeric data but provides a greater amount of decimal precision than the float data type. Double values have up to 15 digits of precision, while float values have up to 7 digits (integers have up to 10 digits). * **float** - A float value is a real number (i.e., a number that can contain a fractional part/decimals). A float value has a precision of up to seven digits and accurately represents numbers whose absolute value is less than 16,277,216 (224). An example metric includes * **floatArray** - Function will hold data for multiple periods, as well as for many companies (i.e., two-dimensional value). The FLOATARRAY function returns data using a vertical orientation (e.g., down a column). The difference between FLOAT and FLOATARRAY is that FLOAT can only go across a row (one-dimension; horizontal orientation; vertical length=1) whereas FLOATARRAY will return data both across a row and down a column (two-dimensions; vertical orientation). With FLOATARRAY, the number of data points across a row will correspond to the number of companies queried; the number of data points down a column will correspond to the length of the time series. * **intArray** - An integer is a whole number or zero (i.e., integers do not include decimals). Integers can be positive or negative. * **string** - A string value is an ASCII character. A string is a sequence of ASCII characters. String value and text value are synonymous. The function will hold data for multiple time periods, as well as for many companies (i.e., two-dimensional value). The STRING_ARRAY function returns data using a vertical orientation (e.g., down a column) * **stringArray** - The difference between STRING and STRINGARRAY is that STRING can only go across a row (one-dimension; horizontal orientation; vertical length=1) whereas STRINGARRAY will return data both across a row and down a column (two-dimensions; vertical orientation). With STRINGARRAY, the number of data points across a row will correspond to the number of companies queried; the number of data points down a column will correspond to the length of the time series. type: string example: doubleArray nullable: true idsBatchMax30000: type: array items: type: string minItems: 1 maxItems: 30000 description: > The requested list of security identifiers. Accepted ID types include Market Tickers, SEDOL, ISINs, CUSIPs, or FactSet Permanent Ids.ids limit = 1000 per non-batch request / 30000 per batch request
example: - FDS-US periodicity: title: Periodicity type: string description: > Periodicity or frequency of the fiscal periods, where * **ANN** = Annual Original, * **ANN_R** = Annual Latest - *Includes Restatements*, * **QTR** = Quarterly, * **QTR_R** = Quarterly Latest - *Includes Restatements*, * **SEMI** = Semi-Annual, * **SEMI_R** = Semi-Annual Latest - *Includes Restatements*, * **LTM** = Last Twelve Months, * **LTM_R** = Last Twelve Months Latest - *Includes Restatements*, * **LTM_SEMI** = Last Twelve Months - Semi-Annually Reported Data, * **LTMSG** = Last Twelve Months Global [OA17959](https://my.apps.factset.com/oa/pages/17959) and * **YTD** = Year-to-date