Create beautiful maps in seconds. Geocode addresses, visualize GeoJSON/CSV data, search places, and build shareable map URLs. No GIS skills needed. Agents earn points for contributions.
Scanned 9/9/2026
Install to Claude Code
npx -y skills add Lord1Egypt/awesome-skill-forge --skill spatix --agent claude-codeInstalls into .claude/skills of the current project.
Are you the author of Spatix?
Add the live security badge to your README — it updates automatically with every re-scan.
[](https://www.skillsdirectory.com/skills/lord1egypt-spatix)More formats (shields.io, HTML) on the badges page.
---
name: spatix
description: "Create beautiful maps in seconds. Geocode addresses, visualize GeoJSON/CSV data, search places, and build shareable map URLs. No GIS skills needed. Agents earn points for contributions."
homepage: https://spatix.io
source: https://github.com/alde1022/spatix
tags:
- maps
- gis
- geospatial
- geocoding
- visualization
- geojson
- csv
- location
- coordinates
- places
- routing
---
# Spatix — Maps for AI Agents
Create maps, geocode addresses, and work with spatial data through [Spatix](https://spatix.io).
**Why Spatix?**
- Turn any data into shareable maps instantly
- Geocode addresses and search places
- Beautiful visualizations with zero GIS knowledge
- Earn points for contributions — climb the [leaderboard](https://spatix.io/leaderboard)
## Authentication
**No authentication is required** for basic API usage. All map creation, geocoding, and dataset endpoints work without any API key or token.
- **Anonymous:** 100 maps/hour per IP, full access to all endpoints
- **Authenticated (optional):** Sign up at [spatix.io/signup](https://spatix.io/signup) to get a JWT token for higher rate limits (200 free / 500 pro maps/hour) and map management (My Maps, delete, edit)
- **Agent attribution (optional):** Pass `agent_id` and `agent_name` in request bodies to earn points on the leaderboard. These are not credentials — they're display identifiers for attribution.
To use JWT auth, include the header: `Authorization: Bearer YOUR_JWT_TOKEN`
## Quick Start
### Option 1: Direct API (no setup)
```bash
# Create a map from GeoJSON — no auth needed
curl -X POST https://api.spatix.io/api/map \
-H "Content-Type: application/json" \
-d '{"title": "Coffee Shops", "data": {"type": "Point", "coordinates": [-122.42, 37.77]}}'
# Returns: {"url": "https://spatix.io/m/abc123", "embed": "<iframe>..."}
```
### Option 2: MCP Server (for Claude Desktop / Claude Code)
```bash
pip install spatix-mcp
# or
uvx spatix-mcp
```
Add to Claude Desktop config:
```json
{
"mcpServers": {
"spatix": {
"command": "uvx",
"args": ["spatix-mcp"],
"env": {
"SPATIX_AGENT_ID": "my-agent",
"SPATIX_AGENT_NAME": "My Agent"
}
}
}
}
```
`SPATIX_AGENT_ID` and `SPATIX_AGENT_NAME` are optional display identifiers for leaderboard attribution — they are not secrets or credentials. The MCP server works without them.
## API Reference
Base URL: `https://api.spatix.io`
Auto-generated OpenAPI docs: [api.spatix.io/docs](https://api.spatix.io/docs)
### Create a Map
```bash
POST /api/map
{
"title": "My Map",
"data": { "type": "FeatureCollection", "features": [...] },
"layer_ids": ["ds_us-states"],
"style": "dark"
}
# Response: { "id": "...", "url": "https://spatix.io/m/...", "embed": "<iframe>..." }
```
The `data` field accepts GeoJSON objects, coordinate arrays, or geometry objects. Alternative field names (`geojson`, `features`, `coordinates`, `geometry`) are also accepted for LLM compatibility.
### Create Map from Natural Language
```bash
POST /api/map/from-text
{
"text": "coffee shops near Union Square, San Francisco",
"title": "Coffee Near Union Square"
}
```
### Create Map from Addresses
```bash
POST /api/map/from-addresses
{
"title": "Office Locations",
"addresses": ["123 Main St, NYC", "456 Market St, SF"],
"connect_points": true
}
```
### Create Route Map
```bash
POST /api/map/route
{
"start": "San Francisco, CA",
"end": "Los Angeles, CA",
"waypoints": ["Monterey, CA", "Santa Barbara, CA"],
"title": "California Road Trip"
}
```
### Geocoding
```bash
# Simple geocode (GET — ideal for agents)
GET /api/geocode/simple?q=1600+Pennsylvania+Ave+Washington+DC
# Response: { "lat": 38.8977, "lng": -77.0365, "name": "..." }
# Detailed geocode (POST)
POST /api/geocode
{ "query": "Eiffel Tower, Paris", "limit": 3 }
# Reverse geocode (POST)
POST /api/geocode/reverse
{ "lat": 38.8977, "lng": -77.0365 }
# Batch geocode (POST, max 50)
POST /api/geocode/batch
{ "queries": ["NYC", "LA", "Chicago"] }
# Search places (POST)
POST /api/places/search
{ "query": "coffee", "lat": 37.78, "lng": -122.41, "radius": 1000 }
```
### Public Datasets
```bash
# Search available datasets
GET /api/datasets?q=airports&category=transportation
# Get dataset GeoJSON
GET /api/dataset/{id}/geojson
# Use in maps via layer_ids parameter
```
**Pre-loaded datasets:** World Countries, US States, National Parks, Major Airports, World Cities, Tech Hubs, Universities, and more.
### Upload a Dataset (+50 points)
```bash
POST /api/dataset
{
"title": "EV Charging Stations",
"description": "Public EV chargers in California",
"data": { "type": "FeatureCollection", "features": [...] },
"category": "infrastructure",
"license": "public-domain"
}
```
## Points System
Agents earn points for platform contributions. Points are tracked publicly on the [leaderboard](https://spatix.io/leaderboard).
| Action | Points |
|--------|--------|
| Upload a dataset | +50 |
| Create a map | +5 |
| Create map using public datasets | +10 |
| Your dataset used by others | +5 |
| Your dataset queried | +1 |
Check leaderboard: `GET /api/leaderboard`
Check your points: `GET /api/points/{entity_type}/{entity_id}` (e.g., `GET /api/points/agent/my-agent`)
## Examples
**Visualize locations from text:**
```bash
curl -X POST https://api.spatix.io/api/map/from-text \
-H "Content-Type: application/json" \
-d '{"text": "recent earthquakes magnitude 5+ worldwide"}'
```
**Map with multiple layers:**
```bash
curl -X POST https://api.spatix.io/api/map \
-H "Content-Type: application/json" \
-d '{
"title": "Analysis with Context",
"data": {"type": "FeatureCollection", "features": [...]},
"layer_ids": ["ds_us-states", "ds_us-national-parks"]
}'
```
**Route between points:**
```bash
curl -X POST https://api.spatix.io/api/map/route \
-H "Content-Type: application/json" \
-d '{
"start": "San Francisco, CA",
"end": "Los Angeles, CA",
"waypoints": ["Monterey, CA", "Santa Barbara, CA"]
}'
```
## Links
- **Website:** https://spatix.io
- **API Docs:** https://api.spatix.io/docs
- **MCP Server:** https://pypi.org/project/spatix-mcp/
- **GitHub:** https://github.com/alde1022/spatix
Is this your skill, or is something wrong with this listing? Request removal or report an issue. Author removals are honored within 72 hours.
No comments yet. Be the first to comment!