FactSet Funds API

  • SECTIONS
  • Overview
  • API Definition
  • SDK Libraries
  • Notebooks
  • Code Snippet
  • Changelog
Overview

FactSet Mutual Funds data offers fund and share class-specific data points for the mutual funds listed in the United States and Europe. Below are the coverage stats based on the region -

Coverage # of Funds History
Mutual Funds Reference - U.S. 9,900 funds or 29,000 share classes Current only
Mutual Funds Time Series - U.S. 9,900 funds or 29,000 share classes 3 years
Mutual Funds Holdings - U.S. 5,400 funds 1999
Mutual Funds Flows - U.S. 5,500 funds or 13,000 share classes 2 years minimum
Mutual Funds Reference - Europe 17,000 funds Current only
Mutual Funds Time Series - Europe 17,000 funds or 89,000 share classes Varying quantity of history
Mutual Funds Flows - Europe 9,200 funds or 23,000 share classes 1 year minimum

It includes but is not limited to the following coverage:FactSet Mutual Funds Reference provides fund-specific reference information as well as FactSet's proprietary classification system.

* Fund descriptions 
      * A seven-tier classification system
      * Leverage information
      * Fees and expenses 
      * Portfolio managers 
      
FactSet Mutual Funds Time Series provides quantitative data items on a historical basis. It includes but is not limited to the following coverage:

* Net asset value
      * Fund flows 
      * Assets under management
      * Total return

This API is rate-limited to 10 requests per second and 10 concurrent requests per user.

API Definition
SDK Libraries
Notebooks
Getting Started - Jupyter Notebook
Getting Started - Jupyter Notebook SDK
Code Snippet
Sample code to retrieve the fund Security Prices using FactSet Funds API
# Imports
import pandas as pd

# FDS Packages
import fds.sdk.FactSetFunds  # To install, please use "pip install fds.sdk.utils fds.sdk.FactSetFunds==1.1.4"
from fds.sdk.FactSetFunds.api import fund_flows__aum_api, reference_api, helper_api, prices__returns_api
from fds.sdk.FactSetFunds.models import *
from fds.sdk.utils.authentication import ConfidentialClient

# Authentication using OAuth
configuration = fds.sdk.FactSetFunds.Configuration(
    fds_oauth_client=ConfidentialClient('<PATH_TO_CONFIG_FILE>') # Path to config file from OAuth registration
)

# Get Summary Data
with fds.sdk.FactSetFunds.ApiClient(configuration) as api_client:
    # Create an instance of the API class
    api_instance = reference_api.ReferenceApi(api_client)
    
    # Define Parameters
    ids = ["MABAX-US"]
    
    # Send Request
    api_response = api_instance.get_funds_summary(ids)

    # Convert to Pandas Dataframe
    results = pd.DataFrame(api_response.to_dict()['data'])
    print(results)
Changelog

1.0.0

Summary

FactSet Mutual Funds data offers fund and share class-specific data points for the mutual funds listed in the United States and Europe. It includes but is not limited to the following coverage:FactSet Mutual Funds Reference provides fund-specific reference information as well as FactSet's proprietary classification system.

###Endpoints

Reference

  • factset-funds/v1/summary: Fetch basic reference data for the requested fund(s), including countryDomicile, shrClass, shrClassInceptDate, etc.

  • factset-funds/v1/classifications: Fetch basic fund classification data, such as Asset Class, Category, Focus, Niche, Region, and more

  • factset-funds/v1/benchmark-details: Fetch the Fund's Benchmark and Segment Benchmark ids. These ids can be then used in the Benchmarks API to fetch index-level prices, returns, constituents data.

  • factset-funds/v1/costs-fees: Fetch the Fund's Costs, Investment minimums and Risk, and Fees. This subcategory includes management fees, 12b-1 fees, expense ratios, and several other data items. The value for each specified share class is expressed as a percentage of the AUM.

  • factset-funds/v1/managers: Fetch basic Fund manager details, such as Title, Phone, Job Id and Name. NOTE - A subscription to FactSet's Ownership product is required to access formulas in this Asset Managers subcategory.

  • factset-funds/v1/related-funds: Fetch the five related fund share classes. Fund share classes can be related if they belong to the same Fund Classification segment, have the same share class type, have the same legal structure, and have the same country of primary exchange.

Prices & Returns

  • factset-funds/v1/prices: Get Fund Prices (NAV) for a requested date range and list of ids.

  • factset-funds/v1/returns: Get Fund NAV Returns over a time-series for the requested date range and frequency.

  • factset-funds/v1/returns-snapshot: Get Fund Returns over pre-defined time horizons as of a specific date. Use the date parameter to set the perspective date, and adjust the return type to include or exclude dividends using the dividendAdjust parameter.

  • factset-funds/v1/returns-range: Get Fund Returns between a specified startDate and endDate. The service will compute the return between those two periods to retrieve the single value and does not create a time-series. Control the return type to include or exclude dividends by using the dividendAdjust parameter.

Fund Flows & AUM

  • factset-funds/v1/aum: Get the Fund Level or Share Class Level Assets Under Management (AUM).

  • factset-funds/v1/flows: Get the Fund Flows. One-day fund flows are calculated by subtracting the shares outstanding at previous close from the shares outstanding one day prior to close, and then multiplying the result by the net asset value (NAV) of one day prior to close.

Helper

  • factset-funds/v1/status: Get the funds active status, share class status, and database availability. Most common use is for coverage checks and id resolution checks.

1.1.0

Summary

New Endpoint - /distributions/current
New Endpoint - /distributions/historical
New Endpoint - /holdings/group
New Endpoint - /aggregates/market

Functionality Additions

1. New Endpoint - Current Distributions

Users will be able to request the most recently available distributions data for the funds specified.

2. New Endpoint - Historical Distributions

Users will be able to request historical distributions data for the funds and date range specified.

3. New Endpoint - Group Holdings

Users will be able to request the holding percentages for the group and funds specified. Groups include:

  • ASSET = Asset Class
  • ASSETISTYP = Issue Type with Asset Class
  • CAPGRP = Cap Group
  • CNTRY = Country
  • EXCHANGE = Exchange
  • INDUSTRY = Industry
  • ISSUE_TYPE = Issue Type
  • REGION = Region
  • SECTOR = Sector
  • ULTPARENT = Ultimate Parent

4. New Endpoint - Market Aggregates

Users will be able to request FactSet market aggregate data for the funds and date range specified.