OpenActive Opportunity Extractor
Pricing
from $0.35 / 1,000 items
OpenActive Opportunity Extractor
Point at ANY OpenActive dataset site, data catalog, or RPDE feed and harvest UK sports & activity opportunity data — classes, sessions, facility slots and events from 100s of leisure operators (GLL, Everyone Active, Halo...). Follows the RPDE cursor, handles tombstones. Pay per item.
Pricing
from $0.35 / 1,000 items
Rating
0.0
(0)
Developer
Datamule
Maintained by CommunityActor stats
0
Bookmarked
2
Total users
1
Monthly active users
5 days ago
Last modified
Categories
Share
Point at any OpenActive dataset site, data catalog, or RPDE feed and harvest UK sports & physical-activity opportunity data — classes, sessions, bookable facility slots, courses and events published by leisure operators (GLL/Better, Everyone Active, Halo, Active Leeds, Places Leisure and 100s more) under the open OpenActive standard.
One actor spans the whole ecosystem — no per-operator scraper. It walks the standard OpenActive data graph and follows the RPDE (Realtime Paged Data Exchange) cursor to the end.
What it does
- feed mode (default) — harvest the RPDE opportunity items from one or more feed URLs, following the
nextcursor until the feed is exhausted (the RPDE "empty last page points to itself" convention). Heterogeneouskindper item (FacilityUse, Slot, SessionSeries, ScheduledSession, Event) is normalized into a common envelope while the full rawdataobject is preserved.state:"deleted"tombstones are emitted as deletion rows. - catalog mode — traverse the OpenActive data-catalog graph (master collection → sub-catalogs → operator dataset sites → their feed
contentUrls) and emit the operator feed inventory: one row per discovered feed (operator, dataset name, feed kind, feed URL). Start from the master catalog, a single sub-catalog, or one dataset-site URL.
Input
| Field | Type | Description |
|---|---|---|
startUrl | string | An RPDE feed URL, a dataset-site URL (feeds auto-resolved), several feed URLs (comma-separated), or a catalog URL. In catalog mode, leave empty to default to the master OpenActive data catalog. |
mode | enum | feed (harvest items) or catalog (discover feeds). Default feed. |
feedKind | array | Optional filter: FacilityUse, SessionSeries, ScheduledSession, Slot, Event. Empty = all. |
includeDeleted | boolean | Emit deleted tombstones as deletion rows (default true). |
maxRecords | integer | Max total rows to emit (default 5000). |
maxPages | integer | Safety cap on RPDE pages per feed (default 50). |
extraHeaders | object | Optional extra HTTP headers (feeds need no auth). |
Example — harvest a facility-use feed
{"startUrl": "https://halo-openactive.legendonlineservices.co.uk/api/facility-uses","mode": "feed","maxRecords": 500}
Example — discover every operator feed from the master catalog
{"mode": "catalog","maxRecords": 500}
Output
Each item is one row. In feed mode:
{"_mode": "item","kind": "FacilityUse","state": "updated","deleted": false,"name": "Badminton","activity": ["Badminton"],"provider": "Halo Leisure","startDate": null,"type": "FacilityUse","data": { "... full OpenActive opportunity object ..." }}
In catalog mode each row is a discovered feed (operator, datasetName, feedKind, feedUrl).
How it works
- RPDE cursor paging — follows
nextuntil an empty page that points to itself; never stops on a short page or a naive page count. - Tombstones —
deleteditems carry nodata; emitted as deletions without dereferencing missing fields. - Catalog graph — recurses
hasPart(sub-catalogs) →dataset(operator site URLs) → embeddedapplication/ld+jsonDataset.distribution[].contentUrl. - Content types — accepts
application/vnd.openactive.rpde+json,application/json, andapplication/ld+json.
Pricing
Pay per result — one item event per emitted opportunity/feed row. No subscription.
Notes
- All OpenActive feeds are open data (typically CC-BY 4.0) — no authentication required.
- RPDE feeds are change logs; most pages contain
deletedtombstones. DisableincludeDeletedto keep only live opportunities.