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.jsonautomatically. - 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.jsonis validated to ensurestable_urlstays onfinancialmodelingprep.com. Tampered configs with off-domain base URLs are rejected.
License
MIT
Project details
Release history Release notifications | RSS feed
Download files
Download the file for your platform. If you're not sure which to choose, learn more about installing packages.
Source Distribution
Built Distribution
Filter files by name, interpreter, ABI, and platform.
If you're not sure about the file name format, learn more about wheel file names.
Copy a direct link to the current filters
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
| Algorithm | Hash digest | |
|---|---|---|
| SHA256 |
4644bcf20588027da735c82d3de39cd3c11f96e0f877664983a58dca7a7852f2
|
|
| MD5 |
070141dd59972414e2cdd694c4849530
|
|
| BLAKE2b-256 |
dbc59ebc05ac59c383f8ea3e4c6c2f09289fa41dea7e6060f7d6bf2575497df3
|
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
| Algorithm | Hash digest | |
|---|---|---|
| SHA256 |
5c0d58bc9b0d7495c29e9509ac118d6d9dd016570e7ced66bf87f72495c46e5a
|
|
| MD5 |
41500536c47ac597faf854206a83afc9
|
|
| BLAKE2b-256 |
fbd1a47bbd130cdcf71d5ac60ebb77997fb43271cae72feb202a9f5c008dc6b7
|