Conway Hall Event Scraper avatar

Conway Hall Event Scraper

Pricing

from $1.79 / 1,000 results

Go to Apify Store
Conway Hall Event Scraper

Conway Hall Event Scraper

Collects public events from Conway Hall’s What's On page, archived listings or individual event pages. Results include titles, series, categories, dates, descriptions, images and ticket links; optional event-page visits add time, doors-open, age, price and room information.

Pricing

from $1.79 / 1,000 results

Rating

0.0

(0)

Developer

Axiom Works

Axiom Works

Maintained by Community

Actor stats

0

Bookmarked

2

Total users

1

Monthly active users

7 days ago

Last modified

Categories

Share

Returns: one row per Conway Hall event with id, title, series, categories, startDate, room and url. Input: {"startUrls": [{"url": "https://www.conwayhall.org.uk/whats-on/"}], "maxItems": 10} Best for: London event listings and calendars, programme monitoring for a venue, and research on past talks and concerts.

{
"id": "53682",
"title": "Inside the World of The Beatles, with Gary Kemp, Simon Halfon & Tom Holland",
"series": "5x15",
"categories": [
"talks-debates"
],
"startDate": "2026-10-13 19:00:00",
"room": "Main Hall",
"url": "https://www.conwayhall.org.uk/whats-on/event/inside-the-world-of-the-beatles-with-gary-kemp-simon-halfon-tom-holland/"
}

What does Conway Hall Events Scraper do?

Conway Hall Events Scraper collects the public event programme of Conway Hall, the venue on Red Lion Square in London, and turns it into clean rows you can export or call from an API. It reads the What's On page (every upcoming event on one page), the archived-events listing (past events, 48 per page, newest first) and single event pages. No login is needed: everything it returns is visible to any visitor of conwayhall.org.uk.

Each row is one event. From the listing card it takes the title, the series or presenter shown before the title (for example 5x15 or Sunday Concerts), the category slugs, the start date and time, the end date from the event's structured data, the short description, the attendance mode, the image and the Ticketsolve booking link. With includeDetails on (the default) it also opens each event's own page and adds the full time range, the doors-open time, the age recommendation, the price text and the room inside the building.

Use it as a Conway Hall scraper for a city events calendar, to watch the venue's programme for new talks or concerts, or as a simple Conway Hall API for past events when you research speakers, series or ticket price levels over time.

What data can you get from Conway Hall?

FieldDescriptionExample
idWordPress post ID as a string, unique within a run53682
wpPostIdConway Hall's WordPress post ID for the event, as a number53682
urlLink to the event's pagehttps://www.conwayhall.org.uk/whats-on/event/...
titleEvent title without the series prefixInside the World of The Beatles, with Gary Kemp, Simon Halfon & Tom Holland
seriesSeries or presenter shown before the title, or null5x15
categoriesCategory slugs from the What's On listing["talks-debates"]
startDateStart, YYYY-MM-DD HH:MM:SS, London local time2026-10-13 19:00:00
endDateEnd, same format, from the event's structured data2026-10-13 20:30:00
dateTextDate and start time as the card shows it13th October 2026 · 7:00pm
descriptionShort summary as plain textMusician Gary Kemp and filmmaker Simon Halfon explore...
attendanceModeHow to attend, when the site saysIn person
attendanceTextComplete attendance line, including room and virtual optionsBrockway Room | Virtual event
eventStatusschema.org status without the URL prefixEventScheduled
imageUrlEvent imagehttps://www.conwayhall.org.uk/wp-content/uploads/...
ticketUrlTicketsolve booking link, or nullhttps://conwayhall.ticketsolve.com/ticketbooth/shows/1173675839
ticketsolveShowIdDigits after shows/ in the ticket link1173675839
venueNameVenue name from the structured dataConway Hall
addressStreet, locality and postcode25 Red Lion Square, London, WC1R 4RL
timeTextDate with start and end time (event page)13th October 2026 · 7:00pm - 8:30pm
doorsOpenDoors-open time (event page)6:30pm
ageRecommendationAge guidance (event page), or null16+
priceTextTicket prices as written on the event page, or nullVenue-written ticket information
roomRoom inside Conway Hall (event page), or nullMain Hall
priceMinLowest ticket price in GBP parsed from priceText, excluding the venue levy, or null10
priceMaxHighest ticket price in GBP parsed from priceText, or null70
isFreeTrue when the price text says free and lists no amount, false when amounts are listed, null without detailsfalse
isOnlineTrue when the attendance line mentions a virtual or online option, or nullfalse
scrapedAtWhen the row was collected, ISO 8601 UTC2026-10-12T19:54:08.265Z
sourceUrlListing or event page the row came fromhttps://www.conwayhall.org.uk/whats-on/

The last five event-page fields (timeText, doorsOpen, ageRecommendation, priceText, room) are filled only when includeDetails is on. The age, price and room lines are free text written by the venue's editors, so some events don't have them; those fields are then null.

How to use Conway Hall Events Scraper

  1. Open the Actor in Apify Console and go to the Input tab.
  2. Keep the default start URL https://www.conwayhall.org.uk/whats-on/ for every upcoming event, or paste the archived-events page (or one of its /page/<n>/ pages) for past events, or paste one or more single event pages.
  3. Optionally pick categories (for example Film and Workshops) or type a search term such as 5x15 to keep only matching events.
  4. Set maxItems to the number of events you want in total. The run stops as soon as that many rows are saved.
  5. Click Start. When the run finishes, open the Output tab and export the rows as JSON, CSV, Excel, XML or HTML, or read them through the API.

Tips:

  1. The What's On page lists every upcoming event at once, so a run with the default URL usually returns 20 to 40 events.
  2. The archive is walked page by page from the page you give, newest first, until maxItems is reached or the archive ends. Start from /whats-on/archived-events/page/10/ to skip recent history.
  3. Turn includeDetails off when you only need the listing fields. The Actor then makes about one request per 48 events instead of one per event, so large archive runs finish much faster.
  4. Conway Hall does not block normal traffic, so the default is no proxy. If a run reports blocked requests, switch on Apify Proxy in the proxy settings and the Actor retries on a new IP.

Input

FieldTypeRequiredDescription
startUrlsarray of {url}NoConway Hall URLs: the What's On page, the archived-events page or any /page/<n>/ of it, or single event pages /whats-on/event/<slug>/. Empty means the What's On page.
categoriesarray of stringsNoKeep only events in any of these categories: walks, exhibitions, talks-debates, concerts, film, festivals, workshops. Empty (default) keeps all. Applies to listing pages, not single event URLs.
searchTermstringNoKeep only events whose title, series or description contains this text, case-insensitive. Empty (default) means no text filter.
includeDetailsbooleanNoDefault true: open each event page for timeText, doorsOpen, ageRecommendation, priceText and room.
maxItemsintegerNoMaximum number of events across all start URLs, 1-10000, default 50.
proxyConfigurationobjectNoProxy settings. Default: no proxy.

Categories and the search term work together: an event must match both when both are set. Both are applied to the events the Actor reads from listing pages; a single event URL you give is always returned. maxItems is one budget shared by all start URLs, counted after the filters.

{
"startUrls": [
{ "url": "https://www.conwayhall.org.uk/whats-on/" },
{ "url": "https://www.conwayhall.org.uk/whats-on/archived-events/" }
],
"categories": ["concerts", "talks-debates"],
"searchTerm": "",
"includeDetails": true,
"maxItems": 100,
"proxyConfiguration": { "useApifyProxy": false }
}

A URL outside conwayhall.org.uk fails the run straight away with a message, because it can never work. A Conway Hall URL that doesn't exist (a mistyped event slug, an archive page past the end) is logged, the other URLs still run, and a run where nothing worked ends with 0 rows and a status message saying what to check.

Output

attendanceText preserves the complete attendance line from the listing modal or standalone event header. It includes virtual-event options and room names when published, while attendanceMode keeps its existing location-icon extraction. Missing attendance lines remain null; the Actor does not infer attendance from the ticket link or event description.

Selected fields from one real local run on 13 October 2026 with the prefill input (10 upcoming events, details enabled). The complete dataset also contains priceText, copied from the venue when available.

{
"id": "53682",
"wpPostId": 53682,
"url": "https://www.conwayhall.org.uk/whats-on/event/inside-the-world-of-the-beatles-with-gary-kemp-simon-halfon-tom-holland/",
"title": "Inside the World of The Beatles, with Gary Kemp, Simon Halfon & Tom Holland",
"series": "5x15",
"categories": [
"talks-debates"
],
"startDate": "2026-10-13 19:00:00",
"endDate": "2026-10-13 20:30:00",
"dateText": "13th October 2026 · 7:00pm",
"description": "Musician Gary Kemp and filmmaker Simon Halfon explore the extraordinary world of The Beatles, in conversation with historian Tom Holland.",
"attendanceMode": "In person",
"attendanceText": "In person | No Option",
"eventStatus": "EventScheduled",
"imageUrl": "https://www.conwayhall.org.uk/wp-content/uploads/2026/07/Gary-Kemp-850x500-1-445x250.jpg.webp",
"ticketUrl": "https://conwayhall.ticketsolve.com/ticketbooth/shows/1173675839",
"ticketsolveShowId": "1173675839",
"venueName": "Conway Hall",
"address": "25 Red Lion Square, London, WC1R 4RL",
"timeText": "13th October 2026 · 7:00pm - 8:30pm",
"doorsOpen": "6:30pm",
"ageRecommendation": "16+",
"room": "Main Hall",
"scrapedAt": "2026-10-13T15:41:44.168Z",
"sourceUrl": "https://www.conwayhall.org.uk/whats-on/"
}

You can download the dataset in JSON, CSV, Excel, XML, HTML table or RSS format from the Output tab, or read it through the Apify API.

How much does it cost to scrape Conway Hall?

Conway Hall Events Scraper is charged per result. You pay only for the event rows returned, and maxItems caps how many that can be, so you always know the most a run can cost. See the Pricing tab for the current price. Filtering by category or search term happens before rows are saved, so events that don't match are never charged.

Use with AI agents (MCP)

Connect Conway Hall Events Scraper to Claude, Cursor or any MCP client through the Apify MCP server:

{
"mcpServers": {
"apify": {
"url": "https://mcp.apify.com/?tools=axiomworks/conway-hall-events-scraper"
}
}
}

Example prompts:

  1. "List every upcoming concert at Conway Hall with its date, room and price."
  2. "Which Conway Hall talks in the 5x15 series are coming up, and where can I book them?"
  3. "Get the last 100 past events at Conway Hall without event details and count them by category."

For a small preview, send {"maxItems":10}; omitted startUrls reads upcoming events and includeDetails defaults to true. Use includeDetails false when only listing fields are needed. Both categories and searchTerm filter listings only; single event URLs ignore them. maxItems is shared across all targets after filters and deduplication. A successful empty dataset is not a failed call: clear the filters or choose the archive for past events. For a dead target, correct startUrls; for a persistent block, retry later or enable proxyConfiguration. Do not keep repeating the same empty request.

Integrations and API

Run Conway Hall Events Scraper from your own code with the Apify API. Set APIFY_TOKEN to your Apify API token (send it in the Authorization header, never in the URL).

Python

from apify_client import ApifyClient
client = ApifyClient("<YOUR_API_TOKEN>")
run = client.actor("axiomworks/conway-hall-events-scraper").call(run_input={
"startUrls": [{"url": "https://www.conwayhall.org.uk/whats-on/"}],
"maxItems": 50,
})
for item in client.dataset(run["defaultDatasetId"]).iterate_items():
print(item["startDate"], item["title"], item["priceText"])

JavaScript

import { ApifyClient } from 'apify-client';
const client = new ApifyClient({ token: '<YOUR_API_TOKEN>' });
const run = await client.actor('axiomworks/conway-hall-events-scraper').call({
startUrls: [{ url: 'https://www.conwayhall.org.uk/whats-on/' }],
categories: ['film'],
maxItems: 50,
});
const { items } = await client.dataset(run.defaultDatasetId).listItems();

cURL

curl -X POST "https://api.apify.com/v2/acts/axiomworks~conway-hall-events-scraper/run-sync-get-dataset-items" \
-H "Authorization: Bearer $APIFY_TOKEN" \
-H "Content-Type: application/json" \
-d '{"startUrls": [{"url": "https://www.conwayhall.org.uk/whats-on/"}], "maxItems": 50}'

The Integrations tab connects the Actor to Make, Zapier, n8n, Google Sheets, Slack and webhooks. A common setup is a daily schedule on the What's On page that sends new rows to a spreadsheet or a calendar tool, using id to spot events you have already seen.

Once the shared result limit or spending limit is reached, the Actor stops immediately without the pause used between detail batches. Pauses remain between batches that need more requests.

When targets overlap, an event already saved in the run is skipped before its detail page is requested again. This also applies to saved results restored after a restart. Listing runs parse only the needed detail fields on event pages; single event targets retain the full event-page extraction. Block detection examines visible challenge text and page titles, rather than treating an embedded anti-bot script as a blocked page.

FAQ

How many events can I get? The What's On page holds every upcoming event, usually 20 to 40. The archive goes back several years at 48 events per page, so with maxItems set high you can collect a few thousand past events in one run.

How fresh is the data? Every run reads the live pages, so rows reflect what Conway Hall shows at that moment. scrapedAt records when each row was collected.

Why are the start and end dates not in UTC? They are copied exactly as the site publishes them, in London local time without an offset. That keeps them identical to what visitors see. Convert them in your own code if you need UTC.

Why is categories empty for some rows? Categories come from the What's On listing. A single event URL that is no longer on that page (a past event) has no category on its own page, so the list is empty.

Why is priceText, ageRecommendation or room null? These come from free text on each event page, and the venue doesn't write them for every event, for example many concerts have no age line. They are also null when includeDetails is off.

Why did my run return 0 results? Usually the filters matched nothing (try fewer categories or a shorter search term), or a URL was mistyped. Conway Hall answers missing pages with an error page, which the Actor reports in the log and the status message. The rest of your URLs still run.

Do I need a proxy? No. The site serves normal traffic without blocking. If you ever see blocked requests in the log, turn on Apify Proxy and the Actor retries each blocked request on a new IP.

Can I schedule it? Yes. Use the Schedules feature in Apify Console to run it daily or weekly and connect the output to your tools through the Integrations tab.

This Actor reads only public pages of conwayhall.org.uk that any visitor can open without an account, and it does not collect personal data beyond the names of speakers and performers that the venue itself publishes in event titles and descriptions. Scraping public web data is generally allowed, but you are responsible for how you use it, including the venue's terms of use and data protection law such as the GDPR when names are involved. If you are unsure, ask a lawyer. This Actor is an independent tool and is not affiliated with or endorsed by Conway Hall Ethical Society.

Feedback

Found a bug or need a field that isn't here? Open an issue on the Issues tab and we'll look at it. Tell us the input you used and what you expected, and we'll get back to you.