Turn SeatGeek Events Into
Your WordPress Revenue
PI Events for SeatGeek connects WordPress to the SeatGeek API — display live listings, import events as editable posts, build searchable performer and venue directories, and earn affiliate commissions on every ticket click.
📅 Sep 6 · SoFi Stadium, Los Angeles
🎟 214 tickets listed · USD 89–650
📅 Sep 14 · Crypto.com Arena, LA
🎟 87 tickets listed · USD 120–1,200
📅 Sep 20 · Pantages Theatre, LA
🎟 52 tickets listed · USD 65–310
📅 Oct 12 · Dignity Health Sports Park
🎟 341 tickets listed · USD 25–180
One plugin, three publishing workflows — choose what fits your site
Use live API listings for always-current results, import events as WordPress posts for SEO and editing control, or run both together.
Live Events
Fetched from SeatGeek API on page load, cached, and rendered immediately. Best for always-current listings with no editorial overhead.
- Real-time SeatGeek API results
- Configurable transient caching
- Virtual detail pages per event
- Auto-import on first page view
- 50/50 admin live preview panel
Imported Events
SeatGeek events saved as WordPress posts with stored metadata. Full CMS control — edit, schedule, template, and index as permanent content.
- Bulk search & import with filters
- All SeatGeek meta as post meta fields
- Import history & rollback
- Auto-import scheduling (Business)
- CSV export & config export (Business)
Performer & Venue Directories
Searchable landing pages for SeatGeek performers and venues. A four-step wizard sets them up; visitors browse, open profiles, and arrive at event cards.
- Setup wizard with draft page creation
- Card, Glass UI & Flat visual themes
- Imported entity records & daily sync
- Virtual profiles with upcoming events
- 50/50 live directory preview
Real-Time SeatGeek Listings — No Database Required
Configure filters, pick a page, and see a live preview of your exact event cards before you publish. Four layouts, zero shortcode guesswork.
| Virtual detail pages | Create crawlable /seatgeek-event/{id}/ URLs for each live event without importing to the database.Enables permalink-based discovery without WordPress posts. |
|---|---|
| Auto-import on view | Automatically save events as WordPress posts the first time a visitor opens their virtual detail page. Converts live events to permanent content on first visit. |
| Noindex live pages | Add noindex to virtual event pages to prevent duplicate crawling while still providing URLs. |
| Card Field | Show |
|---|---|
| Thumbnail | ✓ |
| Date & Time | ✓ |
| Venue Name | ✓ |
| City | ✓ |
| Category badge | ✓ |
| Listing count | ✓ |
| Price range | ✓ |
| Ticket button | ✓ |
| Virtual Page Field | Show |
|---|---|
| All card fields | ✓ |
| Venue address | ✓ |
| Lat / Lon | ✓ |
| Event score | ✓ |
| Performers | ✓ |
| Please Note | ✓ |
| Seat map URL | ✓ |
Three-column responsive grid — collapses to 1 col on mobile. Most popular for event directories.
Two-column wide-card layout — more image space, better for featured events.
Horizontal list layout — title, date, venue and ticket button in one scan-friendly row.
Compact four-column layout — best for large event directories on desktop.
style="masonry" — Pinterest-style column masonry for mixed-height event content. Display Styles controls colours, font sizes, button style, thumbnail height, card radius, and column counts with a live 2-card preview. Separate profiles for Live Events and Imported Events.Save SeatGeek Events as Editable WordPress Posts
Search SeatGeek, filter by city, performer, category, or price, then import selected events as native WordPress posts with all metadata stored and indexed.
pisg_sg_id) are automatically skipped. The import button shows new-only count. Each bulk import creates a rollback session.| Enable auto-import | Run saved searches automatically via WP-Cron. Business licence required. |
|---|---|
| Frequency | Hourly / Twice daily / Daily / Weekly |
| Saved search rules | Store multiple import queries (city, postal code, category, keyword, radius) that run on schedule — perfect for multi-city portals. |
| Email notifications | Comma-separated recipients notified after each auto-import run. Business supports multiple addresses. |
| Event expiry | Auto-unpublish or delete imported events after their event date. Noindex-on-expiry option available. |
| Store | Meta Key | SeatGeek Source |
|---|---|---|
| ✓ ALWAYS |
pisg_sg_id |
events[].id ALWAYS — duplicate detection |
| ✓ | pisg_datetime |
datetime_local Event start datetime |
| ✓ | pisg_venue |
venue.name Venue name |
| ✓ | pisg_address |
venue.address Street address |
| ✓ | pisg_city |
venue.city City name |
| ✓ | pisg_state |
venue.state State / region |
| ✓ | pisg_country |
venue.country Country |
| ✓ | pisg_lat / pisg_lon |
venue.location Geo-coordinates |
| ✓ | pisg_segment |
taxonomies[].name Category / taxonomy |
| ✓ | pisg_genre |
taxonomies[].name Genre sub-type |
| ✓ | pisg_url |
url Ticket URL (aid/rid auto-appended) |
| ✓ | pisg_price_min |
stats.lowest_price Min ticket price |
| ✓ | pisg_price_avg |
stats.average_price Average ticket price |
| ✓ | pisg_listing_count |
stats.listing_count Tickets available |
| ✓ | pisg_score |
score SeatGeek demand score 0-1 |
| ✓ | pisg_performers |
performers[].name Performer names |
| ✓ | pisg_seatmap |
venue.url / slug Seat map URL |
| ✓ | pisg_please_note |
please_note Advisory / terms text |
Export imported events and all stored metadata as a downloadable CSV.
Export settings, styles, assignments and automation rules. Credentials never included.
Build Directories That Lead Visitors Back to Events
Business turns SeatGeek performer and venue data into connected discovery journeys: searchable directories, profile pages, upcoming events and ticket destinations. A four-step wizard sets everything up in minutes.
Directory landing pages with a wizard
A four-step modal wizard creates draft Performer and Venue pages (or assigns existing WordPress pages) and configures both directories together in one flow.
Choose Card, Glass UI or Flat theme
Configure search controls, column count, result limit, intro text — and choose a visual template with a fixed 50/50 live preview that shows real directory cards.
Profiles connect to upcoming events
Each directory result opens a virtual (Standard) or imported (Business) performer/venue profile page with metadata and upcoming SeatGeek event cards.
Find, import & sync entity records
Search SeatGeek performers by slug, genre, or taxonomy. Import them as pisg_performer custom posts. Daily entity sync keeps metadata fresh.
[sg_performer] / [sg_venue] shortcodes.| Purpose | Shortcode | Licence |
|---|---|---|
| Performer profile page | [sg_performer slug="taylor-swift"] | Standard |
| Venue profile page | [sg_venue slug="madison-square-garden"] | Standard |
| Performer upcoming events | [sg_performer_events id="123"] | Standard |
| Venue upcoming events | [sg_venue_events id="456"] | Standard |
| Performer directory (searchable) | [sg_performers search="yes" columns="4"] | Business |
| Venue directory (searchable) | [sg_venues city="Chicago" search="yes"] | Business |
One Shortcode. Visual Builder. Zero Guesswork.
The [sg_events] shortcode handles live and imported events, all layouts, filters, and pagination. Build it with the visual Shortcode Builder — no parameter memorisation needed.
source | "live" or "imported" — which event pool to draw from |
|---|---|
style | grid / grid-2 / grid-4 / list / masonry |
size | Events per page (default: 12) |
pagination | "yes" or "no" |
keyword | Event search keyword |
city | City filter |
postalcode | ZIP / postal code filter |
radius | Distance from location |
radius_unit | "miles" or "km" |
category | SeatGeek taxonomy (live) or WP category (imported) |
date_start | YYYY-MM-DD — live source filter |
tag | WordPress tag slug — imported source only |
[seatgeek_events] continues to work. Each shortcode instance receives independent pagination.[sg_events source="live" city="Chicago" size="12" style="grid"]
[sg_events source="imported" category="sports" style="list"]
[sg_events source="live" postalcode="90210" radius="25" radius_unit="miles" style="masonry"]
[sg_performers search="yes" columns="4"]
| Widget name | PI SG Events — Appearance → Widgets |
|---|---|
| Widget title | Optional sidebar heading above the event list |
| Source | Live or Imported |
| City / Count | City filter and number of events in sidebar |
Enter your SeatGeek Partner aid and rid once in API Settings. Every ticket link across your entire site — live listings, imported events, shortcodes, and widgets — automatically carries your affiliate parameters.
How Events Render On Your Site
Preview the responsive layouts produced by the plugin’s scoped frontend markup. The same layouts work with live SeatGeek results, imported WordPress events, Display on Pages, shortcodes, and widgets.
[sg_events source="live" city="New York" style="grid" size="6"][sg_events source="live" style="grid-2" size="4"][sg_events source="imported" style="grid-4" size="8"][sg_events source="live" style="masonry"][sg_events source="imported" style="list"]Responsive by default
Desktop grids collapse cleanly for tablets and phones without a separate mobile shortcode.
Style without rebuilding
Card colors, typography, spacing, thumbnails, buttons, radius, and columns are controlled in the admin.
One renderer, many workflows
Use the same visual system for live events, imported events, page assignments, shortcodes, and widgets.
Reduce API Calls Without Serving a Fragile Experience
A unified cache control center protects event landing pages, directories, and profiles during traffic spikes and temporary SeatGeek outages — with stampede locks, stale fallback, and Business landing-page warming.
| Live event listings |
1 hr default
Business: custom TTL per-type TTL: 5 min → 24 hrs
|
|---|---|
| Event details |
1 hr default
Business: custom TTL per-type TTL: 5 min → 24 hrs
|
| Performer & venue directories |
1 hr default
Business: custom TTL per-type TTL: 5 min → 24 hrs
|
| Performer & venue profiles |
1 hr default
Business: custom TTL per-type TTL: 5 min → 24 hrs
|
| Entity upcoming events |
30 min default
Business: custom TTL per-type TTL: 5 min → 24 hrs
|
| Event categories / taxonomy |
24 hr default
Business: custom TTL per-type TTL: 5 min → 24 hrs
|
| Imported listing HTML |
1 hr default
Business: custom TTL per-type TTL: 5 min → 24 hrs
|
| Developer REST responses |
5 min default
Business: custom TTL per-type TTL: 5 min → 24 hrs
|
Stampede Protection
Per-query refresh locks prevent simultaneous visitors creating a burst of identical SeatGeek API calls.
Stale-on-Error Fallback
Previous successful responses keep pages useful when SeatGeek is slow, unavailable, or rate-limiting.
Failure Backoff
90-second negative caching stops empty searches or rate-limit errors from hammering the API repeatedly.
Landing-Page Warming Biz
Business pre-warms up to 20 selected pages via WP-Cron every 15 minutes so cache is always warm before visitors arrive.
| Storage | WordPress database transients — or persistent object cache (Redis / Memcached-compatible). Cache index remains accurate with external object caching. |
|---|---|
| Invalidation | Automatic after event changes, entity sync, and display-style changes. |
| Grouped flush | Clear individual content types or all plugin caches from the admin panel. |
| Metrics | Daily hit/miss ratio, API calls avoided, stale responses served, and error count — grouped by content type. |
| Developer hooks | pisg_cache_policy, pisg_cache_flushed. REST responses expose X-Cache header. Developer |
Connect Once. Every Feature Follows.
Enter your SeatGeek Client ID, optional affiliate IDs, and OAuth credentials under Setup. A live connection test confirms the API is reachable before you publish anything.
| Client ID | Your SeatGeek Client ID Required for all public API calls — events, performers, venues, taxonomies. Free developer account at seatgeek.com/account/develop. |
|---|---|
| Client Secret | Your Client Secret Optional unless using OAuth 2.0 user-level actions. |
| Test Connection | Makes a live call to /2/events and reports success or the SeatGeek error message. |
| Partner AID | your-affiliate-id Appended as ?aid=YOUR_ID on all ticket URLs site-wide — live listings, imports, shortcodes, widgets. |
|---|---|
| Partner RID | your-rid Appended as &rid=YOUR_RID alongside the affiliate ID on all ticket links. |
| OAuth Redirect URI | https://yoursite.com/wp-admin/admin-ajax.php?action=pisg_oauth_callback Read-only, auto-generated. Register this exact URL in your SeatGeek Platform account. |
|---|---|
| Authorization URL | Shown live after Client ID is saved. Copy and use to initiate the Authorization Code flow. |
REST API, Webhooks, Templates — Fully Extensible
Developer licence exposes SeatGeek event data through a REST API with authentication and rate limiting, supports theme template overrides, multisite, and ACF field sync.
/pi-events-seatgeek/v1/
REST API Endpoints
Expose events, performers, venues, and related event collections for headless WordPress, mobile apps, and external integrations.
X-API-Key
Auth & Rate Limiting
API key authentication layer with per-client token bucket rate limiting. REST response caching managed centrally via the Cache Control Center.
- API key required on all REST requests
- Configurable requests/minute per key
- REST
X-Cacheresponse header
JSON-LD + canonical
Publishing Foundations
Virtual entity profiles include canonical URLs, structured data, 404 handling, and optional maps. Imported events retain durable WordPress URLs.
- Performer & venue canonical URLs
- Structured data on profiles
- Proper 404 for unknown slugs
Webhooks + ACF
Integrations
Webhook POST on import or entity sync to connect events to external systems. ACF field sync writes metadata to mapped ACF field groups for editorial workflows.
- Webhook URL: configurable endpoint
- Payload: post IDs + SeatGeek IDs
- ACF sync: all imported event meta
/pi-events-seatgeek/
Template Overrides
Copy plugin templates to your child theme's /pi-events-seatgeek/ folder for full HTML control over event cards, detail pages, performer profiles, and venue profiles.
wp_remote_get()
WordPress-Native
Remote requests, Cron, transients, capabilities, nonces, and sanitization use WordPress APIs — no proprietary runtime dependencies.
- Network-aware multisite support
- Developer Diagnostics panel
- pisg_cache_policy / pisg_cache_flushed hooks
Start Publishing. Expand When the Business Grows.
Every licence covers one server-verified domain, with capabilities matched clearly to Standard, Business, and Developer workflows.
Publish & Curate
For a single event site that needs live listings, event imports, flexible layouts, and affiliate tracking.
- ✓ Live SeatGeek event listings
- ✓ Event search & WordPress import
- ✓ All 5 display layouts (grid/list/masonry)
- ✓ Virtual performer & venue profiles
- ✓ [sg_performer] [sg_venue] shortcodes
- ✓ Shortcode builder & widget
- ✓ Display Styles visual designer
- ✓ Display on Pages (max 3 assignments)
- ✓ Import history & rollback
- ✓ Affiliate tracking (aid & rid)
- ✓ OAuth 2.0 support
- ✓ Fixed safe caching with stampede lock & stale fallback
- ✓ Diagnostics & Help & Support tab
Automate & Grow
For publishers building directories, recurring content operations, and higher-traffic event portals.
- ✓ Everything in Standard, plus:
- ✓ Expanded Display on Pages workflows
- ✓ Performer & Venue directory wizard
- ✓ Card, Glass UI & Flat directory themes
- ✓ Imported entity records & daily sync
- ✓ [sg_performers] [sg_venues] shortcodes
- ✓ Scheduled auto-import (WP-Cron)
- ✓ Saved import search rules
- ✓ Multiple import email notifications
- ✓ Event expiry automation
- ✓ CSV export & config export
- ✓ Custom cache policies per content type
- ✓ Landing-page cache warming
- ✓ Cache hit/miss metrics dashboard
Integrate & Customise
For technical teams connecting WordPress event data to applications, services, and custom themes.
- ✓ Everything in Business, plus:
- ✓ Events, Performers & Venues REST API
- ✓ API key authentication
- ✓ Per-client rate limiting
- ✓ Import & entity-sync webhooks
- ✓ Theme template overrides
- ✓ ACF field sync
- ✓ Multisite-aware functionality
- ✓ Developer cache diagnostics & hooks
- ✓
X-CacheREST response header - ✓ iCal endpoint for imported events
- ✓ System information panel
"PI Event Master made it practical for us to build event landing pages across California cities and counties. With Display on Pages, we can add filtered events to any landing page in about a minute, using city, category, keyword, venue, date, and layout filters without touching code."
EventsInCalifornia.com · California Events Directory ★★★★★Questions Before You Start Publishing?
Do I need SeatGeek API credentials?
Yes. A SeatGeek Client ID is required for all public event, performer, venue, and taxonomy requests. Register for free at seatgeek.com/account/develop. A Client Secret is optional unless your workflow uses OAuth 2.0 user-level actions.
What is the difference between live and imported events?
Live listings are fetched from SeatGeek and cached without creating WordPress posts — always current, zero editorial work. Imported events are saved as WordPress posts with stored metadata and durable permalink URLs, suitable for SEO, editing, and long-term archiving. You can use both simultaneously on the same site.
What are the Performer & Venue Directories and how do I set them up?
Business and Developer licences include searchable landing pages for SeatGeek performers and venues. A four-step modal wizard creates (or assigns) your landing pages and configures both directories together. The wizard previews the directory with Card, Glass UI, or Flat themes and a live 50/50 preview panel before saving. Standard licences still include virtual performer and venue profile pages with the [sg_performer], [sg_venue], [sg_performer_events], and [sg_venue_events] shortcodes.
How does the 50/50 live preview work?
When you configure a Display on Pages assignment — for either Live Events, Imported Events, or Directories — the admin tab opens in a 50/50 CSS grid split. Your configuration form sits on the left; a live preview of the actual event or directory cards, styled exactly with your saved Display Styles settings, renders on the right. It updates as you change filters, layouts, and colour settings — eliminating the "save, visit, go back" loop.
How does affiliate tracking work?
Enter your SeatGeek Partner affiliate ID (aid) and referral ID (rid) once in Setup → SeatGeek Connection. The plugin appends ?aid=YOUR_ID&rid=YOUR_RID to every ticket link it generates site-wide — live listings, imported event posts, shortcodes, and the sidebar widget. Confirm the required tracking format with the SeatGeek Partner Programme before publishing.
How many domains does a licence cover?
Each Standard, Business, or Developer licence covers one domain. The active domain and licence tier are verified by the licence server.
When should I upgrade from Standard to Business or Developer?
Upgrade to Business when you need performer and venue directories, scheduled auto-import, saved search rules, expanded page publishing, CSV export, or custom cache policies. Upgrade to Developer when you need a REST API, API key authentication, rate limiting, webhooks, theme template overrides, ACF sync, or multisite support.
How does the caching protect my site during SeatGeek outages?
The Cache Control Center is always active for every licence. It uses per-query refresh locks (stampede protection), stale-on-error delivery (serving the last successful response during outages), and 90-second negative caching to prevent rate-limit loops. Business adds custom cache lifetimes by content type and scheduled landing-page warming via WP-Cron.
Blog Articles & Tutorials
Strategies, walkthroughs, and developer guides for building high-traffic SeatGeek event sites on WordPress.
No posts found.
Questions? We're Here To Help.
Pre-sales questions, technical support, or custom integration work — contact the PI Events for SeatGeek team.
Reply within 24 hours (Mon–Fri)
Choose the licence that matches your publishing workflow — from a focused event site to automated directories and developer integrations.
Send Us a Message
Fill in the form below and we'll reply within 24 hours.
