Build with Glade
443,000+ UK outdoor locations — woodlands, nature reserves, parks, trails, and facilities — accessible to AI assistants and apps via MCP, x402 and Rest APIs.
Access
Request an API key
Keys are currently issued manually during the early access period. Submit your details and we will email you once your key is active — usually within 24 hours.
Submit request
Tell us your name, email, and what you are building.
We review
We enable your key and email you confirmation — no waiting weeks.
Start building
Drop your key into Claude Desktop, Cursor, or any MCP-compatible client.
What you get
443,000+
named destinations
3,683,000+
activity signals
249,000+
public access places
328,000+
forest walks
249,000+
dog walks
124,000+
heritage sites
184,000+
parking spots
90,000+
hiking routes
MCP Integration
MCP quickstart
Glade implements the Model Context Protocol (Streamable HTTP transport, JSON-RPC 2.0). Drop the config below into your AI client and Glade tools will appear automatically.
Claude Desktop
Edit ~/Library/Application Support/Claude/claude_desktop_config.json
{
"mcpServers": {
"glade": {
"command": "npx",
"args": [
"-y",
"mcp-remote",
"https://getglade.co.uk/api/mcp",
"--header",
"Authorization:Bearer YOUR_API_KEY"
]
}
}
}Cursor / VS Code (MCP)
Add to .cursor/mcp.json or your IDE MCP config
{
"mcpServers": {
"glade": {
"url": "https://getglade.co.uk/api/mcp",
"headers": {
"Authorization": "Bearer YOUR_API_KEY"
}
}
}
}List available tools
curl -X POST https://getglade.co.uk/api/mcp \
-H "Authorization: Bearer YOUR_API_KEY" \
-H "Content-Type: application/json" \
-d '{"jsonrpc":"2.0","id":1,"method":"tools/list"}'Search near a postcode
curl -X POST https://getglade.co.uk/api/mcp \
-H "Authorization: Bearer YOUR_API_KEY" \
-H "Content-Type: application/json" \
-d '{
"jsonrpc": "2.0",
"id": 2,
"method": "tools/call",
"params": {
"name": "search_locations",
"arguments": {
"postcode": "SK11 0AP",
"activity": "dog-walks",
"limit": 5
}
}
}'Tools reference
Available tools
search_locationsFind outdoor locations near a UK postcode or lat/lng, ranked by quality. Returns up to 25 results with name, type, top activities, facilities, and a direct Glade URL.
1 credit per call| Parameter | Type | Description |
|---|---|---|
postcode | string | UK postcode e.g. "SK11 0AP". Required unless lat/lng provided. |
lat | number | Decimal latitude. Required with lng if no postcode. |
lng | number | Decimal longitude. Required with lat if no postcode. |
activity | string | Filter by activity slug e.g. "dog-walks", "bird-watching", "cycling". See slug table below. |
radius_km | number | Search radius in km. Default 20, max 50. |
limit | integer | Number of results. Default 10, max 25. |
MCP request
curl -X POST https://getglade.co.uk/api/mcp \
-H "Authorization: Bearer YOUR_API_KEY" \
-H "Content-Type: application/json" \
-d '{
"jsonrpc": "2.0",
"id": 1,
"method": "tools/call",
"params": {
"name": "search_locations",
"arguments": {
"postcode": "WA14 4SA",
"activity": "dog-walks",
"limit": 3
}
}
}'Response (content[0].text parsed)
// result.content[0].text (parsed)
[
{
"id": "3036a816-038f-46f1-8396-af7e6eb5d3bb",
"name": "Wythenshawe Park",
"location_type": "urban_park",
"lat": 53.4042,
"lng": -2.2797,
"distance_km": 6.8,
"top_activities": [
{ "slug": "family-friendly", "label": "Family friendly", "confidence": 0.97 },
{ "slug": "picnic-day-out", "label": "Picnic day out", "confidence": 0.95 },
{ "slug": "playgrounds", "label": "Playgrounds", "confidence": 0.93 }
],
"has_trails": false,
"has_parking": true,
"glade_url": "https://getglade.co.uk/locations/wythenshawe-park-park-osm-73a6ca01"
},
{
"id": "01bd8ff6-3e93-4311-9ed9-9ac62b54c95a",
"name": "PRESTWICH",
"location_type": "country_park",
"lat": 53.5275,
"lng": -2.3031,
"distance_km": 16.4,
"top_activities": [
{ "slug": "wildlife", "label": "Wildlife", "confidence": 0.95 },
{ "slug": "dog-walks", "label": "Dog walks", "confidence": 0.87 },
{ "slug": "bird-watching", "label": "Bird watching", "confidence": 0.83 }
],
"has_trails": true,
"has_parking": true,
"glade_url": "https://getglade.co.uk/locations/prestwich-cp-1443095"
}
]get_location_detailFetch full detail for a Glade location by ID: activities, trails, facilities, getting-here directions, and upcoming events.
3 credits per call| Parameter | Type | Description |
|---|---|---|
location_id | string | Location UUID from a search_locations result. |
MCP request
curl -X POST https://getglade.co.uk/api/mcp \
-H "Authorization: Bearer YOUR_API_KEY" \
-H "Content-Type: application/json" \
-d '{
"jsonrpc": "2.0",
"id": 2,
"method": "tools/call",
"params": {
"name": "get_location_detail",
"arguments": {
"location_id": "e18cd089-a994-4d96-b5e8-989bebe599af"
}
}
}'Response (content[0].text parsed)
// result.content[0].text (parsed)
{
"id": "e18cd089-a994-4d96-b5e8-989bebe599af",
"name": "Dunham Massey",
"location_type": "historic_site",
"lat": 53.3816,
"lng": -2.3899,
"address": "Trafford, WA14 4SA",
"activities": [
{ "slug": "wildlife", "label": "Wildlife", "confidence": 0.95, "evidence": [] },
{ "slug": "bird-watching", "label": "Bird watching", "confidence": 0.91, "evidence": [] },
{ "slug": "heritage", "label": "Heritage", "confidence": 0.86, "evidence": [] },
{ "slug": "foraging", "label": "Foraging", "confidence": 0.82, "evidence": [] },
{ "slug": "insect-spotting","label": "Insect spotting","confidence": 0.81, "evidence": [] }
],
"trails": [],
"facilities": [],
"events": [
{
"name": "The Brit Fest 2026",
"date": "2026-07-02T00:00:00+00:00",
"provider": "skiddle",
"url": "https://www.skiddle.com/festivals/the-brit-fest/"
}
],
"getting_here": {
"google_maps_url": "https://www.google.com/maps/dir/?api=1&destination=53.3816,-2.3899",
"has_parking": false
},
"glade_url": "https://getglade.co.uk/locations/dunham-massey-rpg-1000853"
}Activity slugs
walkingcyclingdog-walksbird-watchinghorse-ridingmountain-bikingrunningfamily-friendlypicnic-day-outeasy-accessheritagewildlifefishingswimmingwild-campingforest-bathing| Endpoint | Credits | USDC cost |
|---|---|---|
| GET /api/v1/locations/search | 1 credit | $0.0010 |
| GET /api/v1/locations/:id | 3 credits | $0.0030 |
Network: Base Sepolia testnet (free test USDC). Base mainnet coming soon.
How it works: Make a request without auth → receive a 402 with payment details → x402 client pays and retries with X-PAYMENT header → request succeeds.
Flow
# Step 1 — request without auth returns 402 with payment instructions
curl -s https://getglade.co.uk/api/v1/locations/search?postcode=WA14+4SA
# Step 2 — x402-compatible agent pays and retries automatically
# The X-PAYMENT header is constructed and signed by the x402 client library
curl "https://getglade.co.uk/api/v1/locations/search?postcode=WA14+4SA" \
-H "X-PAYMENT: <signed-payment-header>"402 Payment Required
HTTP/1.1 402 Payment Required
Content-Type: application/json
{
"x402Version": 1,
"error": "X-PAYMENT header is required",
"accepts": [
{
"scheme": "exact",
"network": "base-sepolia",
"maxAmountRequired": "1000",
"resource": "https://getglade.co.uk/api/v1/locations/search",
"description": "Search UK outdoor locations by postcode or coordinates",
"mimeType": "application/json",
"payTo": "0xYOUR_WALLET_ADDRESS",
"maxTimeoutSeconds": 300,
"asset": "0x036CbD53842c5426634e7929541eC2318f3dCF7e"
}
]
}TypeScript / Node
import { wrapFetchWithPayment } from 'x402-fetch';
import { createWalletClient, http } from 'viem';
import { privateKeyToAccount } from 'viem/accounts';
import { baseSepolia } from 'viem/chains';
const account = privateKeyToAccount(process.env.PRIVATE_KEY);
const walletClient = createWalletClient({ account, chain: baseSepolia, transport: http() });
// Wraps fetch — handles 402 → pay → retry automatically
const fetch402 = wrapFetchWithPayment(fetch, walletClient);
const res = await fetch402(
'https://getglade.co.uk/api/v1/locations/search?postcode=WA14+4SA'
);
const { locations } = await res.json();Install: npm install x402-fetch viem
REST API
REST endpoints
The same data, accessible without MCP. Authenticate with a Bearer API key, or pay per-call using x402 USDC payments.
/api/v1/locations/searchSame parameters as the search_locations MCP tool, passed as query string.
Request
GET /api/v1/locations/search?postcode=WA14+4SA&activity=dog-walks&limit=5
Authorization: Bearer YOUR_API_KEYResponse — 200 OK
{
"locations": [
{
"id": "3036a816-038f-46f1-8396-af7e6eb5d3bb",
"name": "Wythenshawe Park",
"location_type": "urban_park",
"lat": 53.4042,
"lng": -2.2797,
"distance_km": 6.8,
"top_activities": [
{ "slug": "family-friendly", "label": "Family friendly", "confidence": 0.97 },
{ "slug": "picnic-day-out", "label": "Picnic day out", "confidence": 0.95 },
{ "slug": "playgrounds", "label": "Playgrounds", "confidence": 0.93 }
],
"has_trails": false,
"has_parking": true,
"glade_url": "https://getglade.co.uk/locations/wythenshawe-park-park-osm-73a6ca01"
}
],
"total": 3
}/api/v1/locations/:idFull location detail. id is the UUID from a search result. Returns 404 if not found.
Request
GET /api/v1/locations/e18cd089-a994-4d96-b5e8-989bebe599af
Authorization: Bearer YOUR_API_KEYResponse — 200 OK
{
"id": "e18cd089-a994-4d96-b5e8-989bebe599af",
"name": "Dunham Massey",
"location_type": "historic_site",
"lat": 53.3816,
"lng": -2.3899,
"address": "Trafford, WA14 4SA",
"activities": [
{ "slug": "wildlife", "label": "Wildlife", "confidence": 0.95, "evidence": [] },
{ "slug": "bird-watching", "label": "Bird watching", "confidence": 0.91, "evidence": [] },
{ "slug": "heritage", "label": "Heritage", "confidence": 0.86, "evidence": [] },
{ "slug": "foraging", "label": "Foraging", "confidence": 0.82, "evidence": [] },
{ "slug": "insect-spotting","label": "Insect spotting","confidence": 0.81, "evidence": [] }
],
"trails": [],
"facilities": [],
"events": [
{
"name": "The Brit Fest 2026",
"date": "2026-07-02T00:00:00+00:00",
"provider": "skiddle",
"url": "https://www.skiddle.com/festivals/the-brit-fest/"
}
],
"getting_here": {
"google_maps_url": "https://www.google.com/maps/dir/?api=1&destination=53.3816,-2.3899",
"has_parking": false
},
"glade_url": "https://getglade.co.uk/locations/dunham-massey-rpg-1000853"
}Status codes
HTTP responses
| Code | Meaning | When it happens |
|---|---|---|
| 200 | OK | Request succeeded. Body contains JSON results. |
| Bad request | Missing or invalid parameters — e.g. no postcode or lat/lng provided, or unrecognised activity slug. | |
| Unauthorised | Invalid or missing Bearer token. Obtain a key at getglade.co.uk/developers or use x402 payments. | |
| Payment required | No API key or X-PAYMENT header. Response body contains x402 payment instructions. | |
| Forbidden | Key exists but is not yet active. Contact us if you believe this is an error. | |
| 404 | Not found | Location ID does not exist (detail endpoint only). |
| Rate limited | Credit limit exceeded. Check the Retry-After response header (in seconds) before retrying. | |
| 500 | Server error | Something went wrong on our end. These are rare — retry once, then contact us if it persists. |
Limits
Rate limits
Limits are credit-based. search_locations costs 1 credit; get_location_detail costs 3.
| Tier | Credits / min | Credits / day | x402 cost / call | Available |
|---|---|---|---|---|
| Free | 10 | 100 | — | On request |
| Standard | 60 | 5,000 | — | Contact us |
| x402 | — | — | $0.0010 search $0.0030 detail | No account needed |
Rate-limited requests return HTTP 429 with a Retry-After header in seconds. x402 payments bypass tier limits entirely — you pay per call in USDC. Need higher API key limits? Get in touch.
Reference
Location types
Every location has a location_type field that describes what kind of place it is. The value may be null for locations where the type has not yet been determined.
Woodland
Closed and open-canopy wooded areas. Sourced from the National Forest Inventory.
| Value | Label | Notes |
|---|---|---|
broadleaved | Broadleaved woodland | Oak, ash, beech and other deciduous trees |
conifer | Conifer forest | Spruce, pine, larch and similar evergreens |
mixed | Mixed woodland | Combination of broadleaved and conifer |
coppice | Coppiced woodland | Managed rotational cutting woodland |
plantation | Plantation forest | Commercial or managed tree planting |
low_density | Open woodland | Widely spaced trees with open understorey |
assumed_woodland | Woodland | Wooded area; specific type not classified |
Parks & reserves
Designated public green spaces and protected natural areas.
| Value | Label | Notes |
|---|---|---|
nature_reserve | Nature reserve | Local or national nature reserve |
country_park | Country park | Managed countryside open to the public |
urban_park | Urban park | City or town park |
Water
Lakes, rivers, and water bodies — often relevant for wild swimming, fishing, and waterside walks.
| Value | Label | Notes |
|---|---|---|
open_water | Open water | Lake, loch, pond, or tarn |
river | River | Named river or significant watercourse |
reservoir | Reservoir | Man-made water storage — may or may not have public access |
Historic
Heritage-designated places indexed from Historic England and Cadw records.
| Value | Label | Notes |
|---|---|---|
historic_site | Historic site | Monument, scheduled site, battlefield, or listed landscape |
Community & recreation
Managed community spaces and recreational facilities.
| Value | Label | Notes |
|---|---|---|
religious_grounds | Religious grounds | Churchyard, graveyard, or place of worship grounds |
cemetery | Cemetery | Municipal cemetery or burial ground |
allotments | Allotments | Community growing plots |
playing_field | Playing field | Sports field or recreation ground |
golf_course | Golf course | Golf course (often partially publicly walkable) |
bowling_green | Bowling green | Lawn bowls green |
visitor_farm | Visitor farm | Farm open to the public; may include pick-your-own |
Land cover
Broad land cover classifications where a more specific type is not available.
| Value | Label | Notes |
|---|---|---|
grassland | Grassland | Open grass — meadow, heath, or downland |
other_vegetation | Greenspace | Vegetated land not matching another category |
urban | Urban greenspace | Green areas within built-up settlements |
quarry | Quarry | Former or active quarry — some have public access |
Questions? hello@getglade.co.uk · Back to Glade