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

Uploaded Python 3

File details

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

File metadata

  • Download URL: fmp_stable_api-2.0.0.tar.gz
  • Upload date:
  • Size: 38.1 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.0.tar.gz
Algorithm Hash digest
SHA256 4644bcf20588027da735c82d3de39cd3c11f96e0f877664983a58dca7a7852f2
MD5 070141dd59972414e2cdd694c4849530
BLAKE2b-256 dbc59ebc05ac59c383f8ea3e4c6c2f09289fa41dea7e6060f7d6bf2575497df3

See more details on using hashes here.

File details

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

File metadata

  • Download URL: fmp_stable_api-2.0.0-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.0-py3-none-any.whl
Algorithm Hash digest
SHA256 5c0d58bc9b0d7495c29e9509ac118d6d9dd016570e7ced66bf87f72495c46e5a
MD5 41500536c47ac597faf854206a83afc9
BLAKE2b-256 fbd1a47bbd130cdcf71d5ac60ebb77997fb43271cae72feb202a9f5c008dc6b7

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