Python API client for mountainfyi.com -- the comprehensive mountain and peak database covering mountains, ranges, climbing routes, and seasonal conditions across all continents. Browse elevation records, summit data, and route details through a free REST API, CLI, or MCP server for AI assistants.
MountainFYI catalogs peaks and ranges worldwide with elevation data, geographic coordinates, climbing routes, and seasonal condition reports -- built for developers, geographers, and outdoor enthusiasts who need structured mountain data.
Explore mountains at mountainfyi.com -- browse peaks by continent, country, or mountain range.
- Install
- Quick Start
- What You Can Do
- Command-Line Interface
- MCP Server (Claude, Cursor, Windsurf)
- REST API Client
- API Reference
- Learn More About Mountains
- Geo FYI Family
- FYIPedia Developer Tools
- License
pip install mountainfyi # Core (zero deps)
pip install "mountainfyi[cli]" # + Command-line interface
pip install "mountainfyi[mcp]" # + MCP server for AI assistants
pip install "mountainfyi[api]" # + HTTP client for mountainfyi.com API
pip install "mountainfyi[all]" # Everythingfrom mountainfyi.api import MountainFYI
with MountainFYI() as api:
# List all mountains in the database
mountains = api.list_mountains()
# Get detailed info for a specific peak
everest = api.get_mountain("mount-everest")
# Browse mountain ranges
ranges = api.list_ranges()
himalayas = api.get_range("himalayas")
# Search across all mountain content
results = api.search("K2")Mountains are classified by prominence, isolation, and elevation. The most recognized classification system ranks peaks by absolute elevation above sea level. The Seven Summits -- the highest peak on each continent -- represent one of mountaineering's most coveted achievements.
| Metric | Description | Example |
|---|---|---|
| Elevation | Height above sea level | Everest: 8,849 m |
| Prominence | Rise above the highest saddle connecting to a higher peak | Denali: 6,144 m prominence |
| Isolation | Distance to nearest higher peak | Kilimanjaro: 5,510 km isolation |
| Ultra-prominent | Peaks with prominence >= 1,500 m | ~1,524 peaks worldwide |
from mountainfyi.api import MountainFYI
# Retrieve mountain detail with elevation, prominence, and coordinates
with MountainFYI() as api:
mountain = api.get_mountain("mount-everest")
print(mountain["name"]) # Mount Everest
print(mountain["elevation"]) # Elevation in meters
# Browse mountains by continent
continents = api.list_continents()
asia = api.get_continent("asia")Learn more: Browse Mountains · Glossary · Guides
A mountain range is a series of mountains connected by high ground. Major ranges form along tectonic plate boundaries -- the Himalayas arose from the collision of the Indian and Eurasian plates, while the Andes trace the subduction zone of the Nazca Plate beneath South America.
| Range | Location | Highest Peak | Length |
|---|---|---|---|
| Himalayas | South Asia | Everest (8,849 m) | 2,400 km |
| Andes | South America | Aconcagua (6,961 m) | 7,000 km |
| Alps | Europe | Mont Blanc (4,808 m) | 1,200 km |
| Rockies | North America | Elbert (4,401 m) | 4,800 km |
| Karakoram | Central Asia | K2 (8,611 m) | 500 km |
from mountainfyi.api import MountainFYI
# Explore mountain ranges and their peaks
with MountainFYI() as api:
ranges = api.list_ranges()
karakoram = api.get_range("karakoram")
# Browse by geographic region
regions = api.list_regions()
south_asia = api.get_region("south-asia")Learn more: Browse Ranges · Countries · API Docs
Climbing routes vary from straightforward trekking peaks to technical ascents requiring ice axes, ropes, and high-altitude experience. Seasonal conditions -- snow depth, temperature, wind speed, and avalanche risk -- determine optimal climbing windows for each peak.
| Grade | Difficulty | Description |
|---|---|---|
| F (Facile) | Easy | Walking on paths and easy scrambling |
| PD (Peu Difficile) | Moderate | Simple glacier travel, basic rope work |
| AD (Assez Difficile) | Fairly Difficult | Steeper ice/rock, crevasse navigation |
| D (Difficile) | Difficult | Sustained technical climbing |
| TD (Tres Difficile) | Very Difficult | Serious alpinism, objective hazards |
| ED (Extremement Difficile) | Extremely Difficult | Elite-level mountaineering |
from mountainfyi.api import MountainFYI
# Explore climbing routes and seasonal conditions
with MountainFYI() as api:
routes = api.list_routes()
route = api.get_route("everest-south-col")
# Check seasonal conditions for planning
conditions = api.list_seasonal_conditions()Learn more: Routes · FAQs · Guides
pip install "mountainfyi[cli]"
# Search for mountains
mountainfyi search "Matterhorn"
# Output is JSON for easy piping
mountainfyi search "K2" | jq '.results[0].name'Add mountain data tools to any AI assistant that supports Model Context Protocol.
pip install "mountainfyi[mcp]"Add to your claude_desktop_config.json:
{
"mcpServers": {
"mountainfyi": {
"command": "python",
"args": ["-m", "mountainfyi.mcp_server"]
}
}
}Available tools: search_mountainfyi
from mountainfyi.api import MountainFYI
with MountainFYI() as api:
# List endpoints
mountains = api.list_mountains()
ranges = api.list_ranges()
continents = api.list_continents()
countries = api.list_countries()
# Detail endpoints
peak = api.get_mountain("mont-blanc")
route = api.get_route("normal-route")
# Search
results = api.search("volcano")| Method | Description |
|---|---|
list_mountains(**params) |
List all mountains |
get_mountain(slug) |
Get mountain detail |
list_ranges(**params) |
List all mountain ranges |
get_range(slug) |
Get range detail |
list_continents(**params) |
List all continents |
get_continent(slug) |
Get continent detail |
list_countries(**params) |
List all countries |
get_country(slug) |
Get country detail |
list_regions(**params) |
List all regions |
get_region(slug) |
Get region detail |
list_routes(**params) |
List all climbing routes |
get_route(slug) |
Get route detail |
list_seasonal_conditions(**params) |
List seasonal conditions |
get_seasonal_condition(slug) |
Get seasonal condition detail |
list_faqs(**params) |
List all FAQs |
get_faq(slug) |
Get FAQ detail |
search(query) |
Search across all content |
Full API documentation at mountainfyi.com/developers/.
- Browse: Mountains · Ranges · Countries
- Guides: Glossary · Guides
- API: REST API Docs · OpenAPI Spec
Part of the FYIPedia open-source developer tools ecosystem -- geography, distance, elevation, and natural events.
| Package | PyPI | Description |
|---|---|---|
| distancefyi | PyPI | Haversine distance & travel times -- distancefyi.com |
| mountainfyi | PyPI | Mountains, peaks, elevation, climbing routes -- mountainfyi.com |
| quakefyi | PyPI | Earthquakes, seismic data, tectonic plates -- quakefyi.com |
| zipfyi | PyPI | ZIP/postal codes, geocoding, area lookup -- zipfyi.com |
| Package | PyPI | npm | Description |
|---|---|---|---|
| colorfyi | PyPI | npm | Color conversion, WCAG contrast, harmonies -- colorfyi.com |
| emojifyi | PyPI | npm | Emoji encoding & metadata -- emojifyi.com |
| symbolfyi | PyPI | npm | Symbol encoding in 11 formats -- symbolfyi.com |
| unicodefyi | PyPI | npm | Unicode lookup with 17 encodings -- unicodefyi.com |
| fontfyi | PyPI | npm | Google Fonts metadata & CSS -- fontfyi.com |
| distancefyi | PyPI | npm | Haversine distance & travel times -- distancefyi.com |
| timefyi | PyPI | npm | Timezone ops & business hours -- timefyi.com |
| namefyi | PyPI | npm | Korean romanization & Five Elements -- namefyi.com |
| unitfyi | PyPI | npm | Unit conversion, 220 units -- unitfyi.com |
| holidayfyi | PyPI | npm | Holiday dates & Easter calculation -- holidayfyi.com |
| mountainfyi | PyPI | -- | Mountains, peaks, elevation, climbing routes -- mountainfyi.com |
| cocktailfyi | PyPI | -- | Cocktail ABV, calories, flavor -- cocktailfyi.com |
| fyipedia | PyPI | -- | Unified CLI for all FYI tools -- fyipedia.com |
MIT
