BOO! Public API
The authoritative Halloween Events & Attractions API. Real, fresh, spooky-good data β ready to embed in apps, maps, lists, and websites.
What it is
A live directory of Halloween events & attractions across the country: haunted houses, pumpkin patches, hayrides, and more β all organized and kept fresh.
Why itβs cool
- Trusted, up-to-date data
- Beautiful embeds for any site
- Fast and reliable (with caching)
How you can use it
Show events on your blog, city site, or app. Copy/paste our widget, or use the API with your favorite tools.
Copy/Paste Widget
Drop this on a page to show events for your city. It just works.
<div id="boo-events"></div>
<script src="https://boo.815.media/widget.v1.js" async></script>
<script>
BooWidget.render("#boo-events", {
token: "BOO_WIDGET_abc123",
city: "Chicago",
category: "haunted-house",
theme: "pumpkin",
attributionLink: "https://boo.815.media?utm_source=widget&utm_medium=referral&utm_campaign=boo_launch"
});
</script>
What it is
RESTful, stateless API with versioned routes (`/api/v1/...`), standard pagination, filtering, sorting, field projection, and includes.
Security
- API keys (Bearer) with scopes
- Per-key CORS & IP allowlists
- Optional HMAC signing (enterprise)
Performance
- ETag & Last-Modified β 304s
- Caching & rate limits (promo bypass available)
- Per-key analytics & alerts
Endpoints
List events
curl -s -H "Authorization: Bearer KEYID.SECRET" \
"https://boo.815.media/api/v1/events?city=Chicago&include=categories,images&limit=5"
JavaScript fetch
await fetch('/api/v1/events?city=Chicago&limit=5', {
headers: { Authorization: 'Bearer KEYID.SECRET' }
}).then(r => r.json())
Attractions (aggregated)
curl -s -H "Authorization: Bearer KEYID.SECRET" \
"https://boo.815.media/api/v1/attractions?city=Chicago&include=events&limit=10"
Conditional requests
curl -i -H "Authorization: Bearer KEYID.SECRET" \
-H 'If-None-Match: "ETAG_FROM_PREVIOUS"' \
"https://boo.815.media/api/v1/events"
Full OpenAPI: /docs/api/openapi-v1.yaml
Getting access
Contact us to request an API key and quota tier. For this season, many partners qualify for Unlimited usage until July 31, 2026 (America/Chicago).