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.1.tar.gz (38.0 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.1-py3-none-any.whl (40.0 kB view details)

Uploaded Python 3

File details

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

File metadata

  • Download URL: fmp_stable_api-2.0.1.tar.gz
  • Upload date:
  • Size: 38.0 kB
  • Tags: Source
  • Uploaded using Trusted Publishing? No
  • Uploaded via: twine/6.2.0 CPython/3.12.3

File hashes

Hashes for fmp_stable_api-2.0.1.tar.gz
Algorithm Hash digest
SHA256 41effe80baf672ad714bb0d6a8cd0dccae890f14fd6455414dd78c93d811059b
MD5 177f2322881a5a9f95fe170ad60bc0fd
BLAKE2b-256 6bd59c8f8c8b2de747784589711f62907995b8eed1dad6798f11b2c27b7d967b

See more details on using hashes here.

File details

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

File metadata

  • Download URL: fmp_stable_api-2.0.1-py3-none-any.whl
  • Upload date:
  • Size: 40.0 kB
  • Tags: Python 3
  • Uploaded using Trusted Publishing? No
  • Uploaded via: twine/6.2.0 CPython/3.12.3

File hashes

Hashes for fmp_stable_api-2.0.1-py3-none-any.whl
Algorithm Hash digest
SHA256 14527c016ccdd91bdde85044b223662d6710506597511e9b61ae23bfa22eb995
MD5 018c31fe4d26836549449e7f5053bc16
BLAKE2b-256 cb5bd10a1a4628755158ad2daea1d9a79bbb06ad1771c518731eeaca7f0e501f

See more details on using hashes here.

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