Timeleft Scraper - Events, Dinners & Schedules in 200 Cities avatar

Timeleft Scraper - Events, Dinners & Schedules in 200 Cities

Pricing

from $2.00 / 1,000 session results

Go to Apify Store
Timeleft Scraper - Events, Dinners & Schedules in 200 Cities

Timeleft Scraper - Events, Dinners & Schedules in 200 Cities

Scrape Timeleft (timeleft.com) event schedules across 200 cities: dinners, drinks, coffees, runs, walks and brunches with dates, zones, group sizes, booking cutoffs and booking headcounts. Self-registers a free app account; no subscription needed for schedules.

Pricing

from $2.00 / 1,000 session results

Rating

0.0

(0)

Developer

Abot API

Abot API

Maintained by Community

Actor stats

1

Bookmarked

2

Total users

1

Monthly active users

5 hours ago

Last modified

Categories

Share

Timeleft Schedules Scraper: City Event Calendars with Booking Headcounts

Timeleft Schedules Scraper turns timeleft.com into structured schedule data. Get every upcoming dinner, drinks, coffee, run, walk and brunch session across 200 cities with dates, zones, group sizes, booking cutoffs and booking headcounts. Search by city, filter by format, then export to JSON, CSV or Excel, or pull the results straight into your app through the API.

Why This Scraper?

  • Every city, one run. Sweep all 197 Timeleft cities or name the ones you care about (Paris, New York, London) and get roughly three weeks of scheduled sessions per city.
  • Booking momentum included. Each session carries its live booking headcount, so you can track which formats and cities fill fastest.
  • No credentials needed. Pick cities and run; access is handled automatically.
  • Built for schedules. Incremental mode returns only new, changed and expired sessions on recurring runs, and a resume option continues one interrupted sweep without re-collecting rows.
  • Honest limits. Venues, attendees and booking stay behind Timeleft's paid subscription, so this actor returns schedules only, and says so.

Use Cases

  • Demand researchers: track event volume and booking momentum across cities to spot where social-dining demand runs hottest.
  • Travel and relocation planners: see which formats run in a destination city before a trip.
  • Competitive analysts: monitor how a subscription-based experiences marketplace paces its supply.
  • Data teams: feed a recurring schedule snapshot into dashboards via the API or scheduled runs.
  • Marketers: time outreach around high-momentum formats and cities.

Data You Get

Sample shape: values are illustrative placeholders, not from a live record.

FieldExample
ide1df5a79-5cdc-47a5-a474-d4d59abbda1b
cityParis
countryFrance
cityLatitude48.8666929
cityLongitude2.3333353
cityUserCount121637
cityImageUrlhttps://v2.timeleft.com/images/paris.jpg
date2026-10-08
eventTypedrinks
statusavailable
zoneId"351"
dayUsersBooked176
groupSize7
maxParticipants80
bookingCutoffISO2026-10-08T06:00:00.000+02:00
changeTypeNEW
dayEventId377a8308-b5f6-4e64-afb8-a643da1653a0
ageRestrictions0
coverUrlhttps://cdn.timeleft.com/events/covers/timeleft_drink_cover.png
introTitleTimeleft Drinks
introDescriptionSpark new connections with a small group over drinks in a local bar.
scrapedAt2026-10-07T10:20:00+00:00
waitlistOnlyGendersman
hasBookingGatefalse
partnerImageUrlhttps://storage.googleapis.com/timeleft-cdn-assets/events/drinks_for_singles.png

Each row is one bookable zone-session; a day-event with two zones yields two rows. dayUsersBooked is the day-level booking total shared by all sessions of that day-event (a 7-table does not seat 17 alone), populated when Fetch booking headcounts is on. changeType, changedFields, firstSeenAt and lastSeenAt appear in Incremental mode.

How to Use

Sweep three cities with headcounts:

{
"cities": ["Paris", "New York", "London"],
"maxItems": 200,
"fetchHeadcounts": true
}

Dinners in Paris only, schedules without headcounts:

{
"cities": ["Paris"],
"eventTypes": ["dinner"],
"maxItems": 50,
"fetchHeadcounts": false
}

Weekly incremental monitor for London:

{
"cities": ["London"],
"maxItems": 0,
"incrementalMode": true,
"stateKey": "london-watch",
"emitExpired": true
}

Run it from your code

Python:

from apify_client import ApifyClient
client = ApifyClient("YOUR_API_TOKEN")
run = client.actor("abotapi/timeleft-schedules-scraper").call(run_input={"cities": ["Paris"], "maxItems": 50})

JavaScript:

import { ApifyClient } from 'apify-client';
const client = new ApifyClient({ token: 'YOUR_API_TOKEN' });
const run = await client.actor('abotapi/timeleft-schedules-scraper').call({ cities: ['Paris'], maxItems: 50 });

Input Parameters

Sample shape: values are illustrative placeholders, not from a live record.

ParameterTypeDefaultDescription
citiesstring[][] (all 197)City names or numeric ids; unknown names are skipped with a warning
eventTypesstring[][] (all)dinner, drinks, coffee, run, walk, brunch
maxItemsinteger20Stop after this many sessions; 0 = unlimited full sweep
fetchHeadcountsbooleantrueRead per-event booking totals (one extra read per city)
accountKeystringdefaultGives each key its own saved state for multi-monitor fleets
proxyobjectresidentialConnection used for the schedule reads
resumeFromRunIdstringemptyContinue one interrupted sweep from a run or dataset id
incrementalModebooleanfalseTrack NEW/UPDATED/UNCHANGED/REAPPEARED/EXPIRED across scheduled runs
stateKeystringempty (auto)Name for this monitor's saved state; empty keys the baseline to the exact scope
emitUnchangedbooleanfalseAlso push UNCHANGED rows in incremental mode
emitExpiredbooleanfalseAlso push EXPIRED rows after a complete scan
ignoreFieldsForChangesstring[][]Fields that must not mark a row UPDATED
mcpConnectorsstring[][]Pipe result summaries into Notion, Linear, Airtable or Apify
notionParentPageUrlstringemptyParent page for the Notion export
maxNotifyListingsinteger50Cap on items written per connector

Output Example

Sample shape: values are illustrative placeholders, not from a live record.

One session in Paris:

{
"id": "e1df5a79-5cdc-47a5-a474-d4d59abbda1b",
"city": "Paris",
"date": "2026-10-08",
"eventType": "drinks",
"zoneId": "351",
"dayUsersBooked": 176,
"groupSize": 7
}

Plan Requirement

Paid plan recommended: the actor reads through the platform proxy, and free plans have limited proxy access. The scraped schedules themselves need no Timeleft subscription.

Send results into your apps (MCP connectors)

Select mcpConnectors in the input to pipe a condensed, human-readable summary per session (title plus key fields, not the full JSON) into Notion, Linear, Airtable or Apify. Authorize a connector once under Apify, Settings, Integrations, then reference it here. Set notionParentPageUrl to choose the Notion parent page, and cap the per-connector volume with maxNotifyListings (default 50, maximum 1000). The complete record always stays in the dataset; connector export never affects it and never fails a run.

FAQ

Scraping publicly visible schedule data for lawful use is generally permitted, but you are responsible for complying with applicable laws and Timeleft's terms. Keep usage respectful of the source.

Do I need an account or API key?

No. Just pick cities and run; no credentials needed.

Can it book dinners or show venues and attendees?

No. Booking, venues and attendee lists require Timeleft's paid subscription, which an actor cannot purchase. This actor returns schedules and booking headcounts only.

Why did my run return zero sessions?

Either every requested city name missed the catalog (check the run log for the unknown-cities warning), the scope filters excluded everything, or the source was temporarily unreachable, so rerun later.

How do scheduled runs work?

Turn on Incremental mode with a state key and schedule the actor: the first run tags everything NEW, later runs return only NEW, UPDATED and REAPPEARED sessions (plus EXPIRED when enabled) instead of the full snapshot.

Does it work with AI and MCP tools?

Yes. Select MCP connectors in the input to pipe per-session summaries into Notion, Linear, Airtable or Apify while the full JSON stays in the dataset.

๐Ÿ”— Pair with more event data. Combine Timeleft schedules with these related scrapers from the same team:

๐Ÿ’ฌ Support & custom scrapers

  • ๐Ÿž Found a bug or a missing field? Open a ticket on the Issues tab. We usually reply within hours.
  • ๐Ÿ› ๏ธ Need another site, extra fields or a private build? Email contact@abotapi.com or message Telegram @abotapi.
  • โญ Enjoying it? A quick review on the actor page helps other users find it.