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.
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-woman",
"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