Vagibond Maps API
Integrate the world's most comprehensive hobo sign database into your application. Our API provides real-time access to community-verified wayfinding intelligence trusted by housing-flexible individuals worldwide.
What you can build
- Navigation apps - Overlay hobo signs on your existing maps
- Safety applications - Alert users to community-reported dangers
- Resource locators - Help users find food, water, and shelter
- Historical research - Access our archive of 1.2M+ historical signs
- Community platforms - Let users contribute and verify signs
Select Partners
Vagibond Maps poweres thousands of sites and apps across the dark web, a select example of which are below. Thank you to all of our Gold-tier and higher partners for your support! Silver-tier partners and lower: Do better.
Live Demo
See what you can build with the Maps API.
Quickstart
Get up and running with the Vagibond Maps API in minutes.
1. Get your API key
Sign up for a free account to receive your API key. Free tier includes 1,000 requests/day.
2. Install the SDK
# npm npm install vagibond-maps # yarn yarn add vagibond-maps # pip pip install vagibond-maps
3. Make your first request
import { VagibondMaps } from 'vagibond-maps'; const client = new VagibondMaps('your_api_key'); // Get signs near a location const signs = await client.signs.nearby({ lat: 37.7749, lng: -122.4194, radius: 500, // meters categories: ['positive', 'warning'] }); console.log(signs); // [ // { // id: "sgn_8f3k2j1", // type: "safe-camp", // name: "Safe Camp", // lat: 37.7751, // lng: -122.4189, // accuracy: 0.94, // reports: 127, // last_verified: "2024-01-15T08:30:00Z" // }, // ... // ]
Authentication
All API requests require authentication via API key. Include your key in the request header:
Authorization: Bearer vgb_live_a1b2c3d4e5f6...
API Key Types
| Prefix | Type | Usage |
|---|---|---|
vgb_live_ |
Production | Live data, rate limits apply |
vgb_test_ |
Testing | Sandbox data, no rate limits |
vgb_pub_ |
Publishable | Client-side, read-only access |
Rate Limits
Rate limits vary by plan. Exceeding limits returns a 429 Too Many Requests response.
| Plan | Requests/minute | Requests/day |
|---|---|---|
| Wanderer (Free) | 60 | 1,000 |
| Drifter | 300 | 50,000 |
| Rail Baron | 1,000 | 500,000 |
| Enterprise | Unlimited | Unlimited |
API Reference
Returns hobo signs within a specified radius of a location.
Query Parameters
| Parameter | Type | Required | Description |
|---|---|---|---|
lat |
float | Yes | Latitude (-90 to 90) |
lng |
float | Yes | Longitude (-180 to 180) |
radius |
integer | No | Search radius in meters (default: 500, max: 5000) |
categories |
string[] | No | Filter by category: positive, negative, warning, neutral |
min_accuracy |
float | No | Minimum accuracy score (0.0 to 1.0) |
limit |
integer | No | Max results (default: 50, max: 200) |
Response
{
"signs": [
{
"id": "sgn_8f3k2j1",
"type": "horny-housewife",
"name": "Horny Housewife",
"category": "positive",
"meaning": "Lonely / husband deployed.",
"lat": 37.7751,
"lng": -122.4189,
"accuracy": 0.94,
"reports": 127,
"last_verified": "2024-01-15T08:30:00Z",
"distance_meters": 47
}
],
"total": 23,
"center": { "lat": 37.7749, "lng": -122.4194 }
}
Report a new hobo sign at a location. Requires contributor permissions.
Request Body
{
"type": "kind-female",
"lat": 37.7749,
"lng": -122.4194,
"notes": "Blue house on corner. Ask for Mrs. Stuben.",
"photo_url": "https://..." // optional
}
Webhooks
Receive real-time notifications when signs are reported or verified in areas you're monitoring.
Event Types
| Event | Description |
|---|---|
sign.created |
A new sign was reported in your monitored area |
sign.verified |
A sign reached the verification threshold |
sign.disputed |
A sign received conflicting reports |
sign.removed |
A sign was removed due to inaccuracy |
area.alert |
Significant change in area safety score |
SDKs & Libraries
Official client libraries for popular languages and frameworks.
JavaScript / TypeScript
npm install vagibond-maps
Python
pip install vagibond-maps
Ruby
gem install vagibond_maps
Go
go get github.com/vagibond/maps-go
Framework Integrations
React
@vagibond/maps-react
Vue
@vagibond/maps-vue
Pricing
Choose the plan that fits your needs. All plans include access to our full sign database.
- 1,000 API requests/day
- Basic sign data
- Community support
- Standard rate limits
- 50,000 API requests/day
- Full sign metadata
- Priority support
- Webhooks
- Historical data access
- 500,000 API requests/day
- Bulk data exports
- Dedicated support
- Custom integrations
- SLA guarantee
- Trusted contributor status
Changelog
Recent updates and improvements to the Vagibond Maps API.
- Added support for sign photo uploads
- New
area.alertwebhook event for safety score changes - Improved accuracy scoring algorithm based on contributor reputation
- Added support for deprecated 1930s-era signage in historical queries
- New
/v1/signs/historyendpoint for sign timeline data - React and Vue SDK packages now available
- Fixed accuracy calculation for signs with fewer than 5 reports
- Resolved webhook delivery delays during high-traffic periods
- Improved geocoding precision for rural areas
- Deprecated
/v1/signs/searchin favor of/v1/signs/nearby - Legacy sign type codes will be removed in v3.0
- Added migration guide for v1 to v2 upgrade