FactSet Fundamentals client library for .NET
$ dotnet add package FactSet.SDK.FactSetFundamentalsGain access to current, comprehensive, and comparative information on securities in worldwide developed and emerging markets. In addition to the latest reported data, this API provides Point-in-Time (PIT) views to access fundamentals data as it was known on any given date. 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.
This API is rate-limited to 10 requests per second and 10 concurrent requests per user.
This .NET package is automatically generated by the OpenAPI Generator project:
For more information, please visit https://developer.factset.com/contact
dotnet add package FactSet.SDK.Utils
dotnet add package FactSet.SDK.FactSetFundamentals -v 3.1.0
nuget install FactSet.SDK.Utils
nuget install FactSet.SDK.FactSetFundamentals -Version 3.1.0
[!IMPORTANT] The parameter variables defined below are just examples and may potentially contain non valid values. Please replace them with valid values.
using System;
using System.Net;
using System.Threading.Tasks;
using FactSet.SDK.Utils.Authentication;
using FactSet.SDK.FactSetFundamentals.Api;
using FactSet.SDK.FactSetFundamentals.Client;
using FactSet.SDK.FactSetFundamentals.Model;
namespace Example
{
public static class GetBatchDataExample
{
public static async Task Main()
{
var config = new FactSet.SDK.FactSetFundamentals.Client.Configuration();
// Examples for each supported authentication method are below,
// choose one that satisfies your use case.
/* (Preferred) OAuth 2.0: FactSetOAuth2 */
// See https://github.com/FactSet/enterprise-sdk#oauth-20
// for information on how to create the app-config.json file
//
// The confidential client instance should be reused in production environments.
// See https://github.com/FactSet/enterprise-sdk-utils-dotnet#authentication
// for more information on using the ConfidentialClient class
ConfidentialClient confidentialClient = await ConfidentialClient.CreateAsync("/path/to/app-config.json");
config.OAuth2Client = confidentialClient;
/* Basic authentication: FactSetApiKey */
// See https://github.com/FactSet/enterprise-sdk#api-key
// for information how to create an API key
// config.Username = "USERNAME-SERIAL";
// config.Password = "API-KEY";
var apiInstance = new BatchProcessingApi(config);
var id = "id_example"; // Guid | Batch Request identifier.
try
{
// Returns the response for a Batch Request
BatchProcessingApi.GetBatchDataResponseWrapper result = apiInstance.GetBatchData(id);
switch (result.StatusCode)
{
case (HttpStatusCode)200:
Console.WriteLine(result.Response200);
break;
case (HttpStatusCode)202:
Console.WriteLine(result.Response202);
break;
}
}
catch (ApiException e)
{
Console.WriteLine("Exception when calling BatchProcessingApi.GetBatchData: " + e.Message );
Console.WriteLine("Status Code: "+ e.ErrorCode);
Console.WriteLine(e.StackTrace);
}
}
}
}
To use the API client with a HTTP proxy, setup a System.Net.WebProxy
Configuration c = new Configuration();
System.Net.WebProxy webProxy = new System.Net.WebProxy("http://myProxyUrl:80/");
webProxy.Credentials = System.Net.CredentialCache.DefaultCredentials;
c.Proxy = webProxy;
All URIs are relative to https://api.factset.com/content/factset-fundamentals/v2
| Class | Method | HTTP request | Description |
|---|---|---|---|
| BatchProcessingApi | GetBatchData | GET /batch-result | Returns the response for a Batch Request |
| BatchProcessingApi | GetBatchStatus | GET /batch-status | Returns the status for a Batch Request |
| CompanyReportsApi | GetFdsProfiles | GET /company-reports/profile | Returns company profile information for a specified list of identifiers. |
| CompanyReportsApi | GetFinancials | GET /company-reports/financial-statement | Returns company financial data. |
| CompanyReportsApi | GetFundamentals | GET /company-reports/fundamentals | Returns company fundamentals for a given list of identifiers. |
| FactSetFundamentalsApi | GetFdsFundamentalsForList | POST /fundamentals | Returns Company Fundamentals Data. |
| FundamentalsPointInTimeApi | PostFundamentalsFiscalPeriods | POST /periods | Fiscal Periods: Retrieve fiscal period details for multiple securities using POST. |
| FundamentalsPointInTimeApi | PostFundamentalsPITData | POST /point-in-time | Retrieve Point-in-Time data for multiple securities. |
| MetricsApi | GetFdsFundamentalsMetrics | GET /metrics | Returns available FactSet Fundamental metrics and ratios. |
| SegmentsApi | GetFdsSegmentsForList | POST /segments | Returns Company Segment Data. |
Please refer to the contributing guide.
Copyright 2025 FactSet Research Systems Inc
Licensed under the Apache License, Version 2.0 (the "License"); you may not use this file except in compliance with the License. You may obtain a copy of the License at
http://www.apache.org/licenses/LICENSE-2.0
Unless required by applicable law or agreed to in writing, software distributed under the License is distributed on an "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. See the License for the specific language governing permissions and limitations under the License.