Mountains, peaks and elevation data API client — mountainfyi.com
Project description
mountainfyi
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.
Table of Contents
- 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
Install
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]" # Everything
Quick Start
from 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")
What You Can Do
Explore Mountains and Peaks
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
Browse Mountain Ranges
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 and Conditions
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
Command-Line Interface
pip install "mountainfyi[cli]"
# Search for mountains
mountainfyi search "Matterhorn"
# Output is JSON for easy piping
mountainfyi search "K2" | jq '.results[0].name'
MCP Server (Claude, Cursor, Windsurf)
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
REST API Client
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")
API Reference
| 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/.
Learn More About Mountains
- Browse: Mountains · Ranges · Countries
- Guides: Glossary · Guides
- API: REST API Docs · OpenAPI Spec
Geo FYI Family
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 |
FYIPedia Developer Tools
| 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 |
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 mountainfyi-0.1.1.tar.gz.
File metadata
- Download URL: mountainfyi-0.1.1.tar.gz
- Upload date:
- Size: 493.6 kB
- Tags: Source
- Uploaded using Trusted Publishing? No
- Uploaded via: uv/0.10.11 {"installer":{"name":"uv","version":"0.10.11","subcommand":["publish"]},"python":null,"implementation":{"name":null,"version":null},"distro":{"name":"macOS","version":null,"id":null,"libc":null},"system":{"name":null,"release":null},"cpu":null,"openssl_version":null,"setuptools_version":null,"rustc_version":null,"ci":null}
File hashes
| Algorithm | Hash digest | |
|---|---|---|
| SHA256 |
add338f51b3efccacebb3914785953e99d0ac536b38f8033cc1ba2e81d7ad6ac
|
|
| MD5 |
1f348985cd8e9e16f5c17e7517386702
|
|
| BLAKE2b-256 |
fe7e607380ea1d7e27f7ad0e2dd3b5571b557e15b10c1a3f66110358d4c8e22c
|
File details
Details for the file mountainfyi-0.1.1-py3-none-any.whl.
File metadata
- Download URL: mountainfyi-0.1.1-py3-none-any.whl
- Upload date:
- Size: 9.1 kB
- Tags: Python 3
- Uploaded using Trusted Publishing? No
- Uploaded via: uv/0.10.11 {"installer":{"name":"uv","version":"0.10.11","subcommand":["publish"]},"python":null,"implementation":{"name":null,"version":null},"distro":{"name":"macOS","version":null,"id":null,"libc":null},"system":{"name":null,"release":null},"cpu":null,"openssl_version":null,"setuptools_version":null,"rustc_version":null,"ci":null}
File hashes
| Algorithm | Hash digest | |
|---|---|---|
| SHA256 |
3fe2f9ee527d3655acff008b1195a2ec3023ada4e43cb41a9ee3dd16faad990b
|
|
| MD5 |
c69ee6f085a4c33596698e009f1a7af5
|
|
| BLAKE2b-256 |
4e7dc294e7df679ffe6fbc2c22470b38d83190cc1833b0c983f06e2c3a9ef3e9
|