Skip to main content

Financial Modeling Prep API client — auto-updating endpoints, GUI, and MCP server

Project description

fmp-stable-api

Financial Modeling Prep API client — auto-updating endpoints, GUI manager, and optional MCP server.

Install

pip install fmp-stable-api           # API client + GUI
pip install fmp-stable-api[mcp]      # also includes the MCP server

Quick start

from fmp_stable_api import FMP

client = FMP(client_type="Premium", client_key="your_api_key")

# Dynamic endpoint access — categories and endpoints loaded from fmp_endpoints.json
results = client.Search.search_symbol(symbol="AAPL")

# Raw URL request
data = client.request("https://financialmodelingprep.com/stable/profile", {"symbol": "AAPL"})

# Show all available categories
client.help()

# Show endpoints in a category
client.Search.help()

Endpoints auto-update

On first use and once every 24 hours, the client fetches the latest fmp_endpoints.json from GitHub and caches it at ~/.fmp/fmp_endpoints.json. A bundled fallback is used when the network is unavailable.

# Force an immediate refresh
from fmp_stable_api import update_endpoints
update_endpoints(force=True)

# Or via the client
client.update_endpoints(force=True)

GUI manager

A tkinter-based GUI for browsing and editing fmp_endpoints.json:

fmp-gui

MCP server (Claude Desktop / AI assistants)

pip install fmp[mcp]

Add to your Claude Desktop claude_desktop_config.json:

{
  "mcpServers": {
    "fmp": {
      "command": "fmp-mcp",
      "env": {
        "FMP_API_KEY": "your_api_key_here",
        "FMP_CLIENT_TYPE": "Premium"
      }
    }
  }
}

Tools are named {Category}__{endpoint}, e.g. Search__search_symbol.

API key tiers

Tier Requests / min
Basic 250
Starter 300
Premium 750
Ultimate 3 000
Enterprise / Custom set via custom_daily_limit
# Enterprise or Custom key
client = FMP(client_type="Enterprise", client_key="key", custom_daily_limit=5000)

Download to file

client.download(
    "https://financialmodelingprep.com/stable/profile-bulk",
    params={"part": 0},
    filename="profiles.csv",
)

Usage info

print(client.get_usage_info())
# {'client_type': 'Premium', 'minute_limit': 750, 'remaining': 748, 'seconds_until_reset': 43.2}

Cache files

Path Contents
~/.fmp/fmp_endpoints.json Downloaded endpoints config
~/.fmp/skill.md Downloaded MCP skill file
~/.fmp/.meta.json Cache timestamps
~/.fmp/api_keys.json GUI API key storage

Security

API Keys:

  • Never commit API keys to git. The GUI stores keys in ~/.fmp/api_keys.json automatically.
  • If you had an API key in a config file that was committed to a git repository, rotate it immediately in your FMP account dashboard. Treat any committed key as compromised.
  • Do not share ~/.fmp/api_keys.json.

Endpoint Updates:

  • Downloaded fmp_endpoints.json is validated to ensure stable_url stays on financialmodelingprep.com. Tampered configs with off-domain base URLs are rejected.

License

MIT

Project details


Download files

Download the file for your platform. If you're not sure which to choose, learn more about installing packages.

Source Distribution

fmp_stable_api-2.0.2.tar.gz (40.4 kB view details)

Uploaded Source

Built Distribution

If you're not sure about the file name format, learn more about wheel file names.

fmp_stable_api-2.0.2-py3-none-any.whl (42.4 kB view details)

Uploaded Python 3

File details

Details for the file fmp_stable_api-2.0.2.tar.gz.

File metadata

  • Download URL: fmp_stable_api-2.0.2.tar.gz
  • Upload date:
  • Size: 40.4 kB
  • Tags: Source
  • Uploaded using Trusted Publishing? Yes
  • Uploaded via: twine/6.1.0 CPython/3.13.12

File hashes

Hashes for fmp_stable_api-2.0.2.tar.gz
Algorithm Hash digest
SHA256 3b67b72af5cb972c5e7a80bf2916e944b9750aae3543fd335b4f96f4b22eb309
MD5 b78aa4ec7cde8302cada966b5fb78eee
BLAKE2b-256 9e5bf869715ad402b04aef990a0e29fb261919828f6c322fe8b54b4c4f9a22cd

See more details on using hashes here.

Provenance

The following attestation bundles were made for fmp_stable_api-2.0.2.tar.gz:

Publisher: publish.yml on Vimal-Seshadri-Raguraman/fmp-stable-api

Attestations: Values shown here reflect the state when the release was signed and may no longer be current.

File details

Details for the file fmp_stable_api-2.0.2-py3-none-any.whl.

File metadata

  • Download URL: fmp_stable_api-2.0.2-py3-none-any.whl
  • Upload date:
  • Size: 42.4 kB
  • Tags: Python 3
  • Uploaded using Trusted Publishing? Yes
  • Uploaded via: twine/6.1.0 CPython/3.13.12

File hashes

Hashes for fmp_stable_api-2.0.2-py3-none-any.whl
Algorithm Hash digest
SHA256 91ed1f19083493305aa14dbd569d5d828589843bb4fe794d7e718e099213555f
MD5 198e9a4416805efaa4f844ce2cba959d
BLAKE2b-256 07628a3b01bf23e37e0d4d02a1708e58409fed07e1acd890a09f6a0d4da02f54

See more details on using hashes here.

Provenance

The following attestation bundles were made for fmp_stable_api-2.0.2-py3-none-any.whl:

Publisher: publish.yml on Vimal-Seshadri-Raguraman/fmp-stable-api

Attestations: Values shown here reflect the state when the release was signed and may no longer be current.

Supported by

AWS Cloud computing and Security Sponsor Datadog Monitoring Depot Continuous Integration Fastly CDN Google Download Analytics Pingdom Monitoring Sentry Error logging StatusPage Status page