Facebook Events Scraper — Past the 8-Event Limit
Pricing
from $4.00 / 1,000 facebook events
Facebook Events Scraper — Past the 8-Event Limit
Scrape ALL Facebook events from any page or group — past the 8-event logged-out limit. No login, no browser. From $5 per 1,000 events, all-inclusive — well below the official scraper's $13.
Pricing
from $4.00 / 1,000 facebook events
Rating
0.0
(0)
Developer
Scrapegeist
Maintained by CommunityActor stats
0
Bookmarked
6
Total users
3
Monthly active users
5 hours ago
Last modified
Categories
Share
The only Facebook scraper that returns an organizer's full event calendar — not just the 8 events Facebook shows logged-out visitors. Paste an event, page, or group URL → get clean, structured data. No login, no headless browser. From $5 per 1,000 events — well below the $13 the official scraper charges, and it goes deeper.
The 8-event problem
Open any active Facebook page's events tab in an incognito window. You'll see 8 upcoming events, then a "Log in to see more" wall. That cap is not an API limit — the data is public, Facebook just hides it from logged-out visitors. Even the official apify/facebook-events-scraper actor admits in its docs that for pages and groups it "will return only recent events that regular Facebook users can see without scrolling."
This actor reaches the rest by paginating the public surface directly. On a typical festival promoter or major venue we return 50–200+ events where every other Apify FB scraper stops at 8.
Pricing — transparent, no surprises
| Price | |
|---|---|
| Per Facebook event scraped | $5.00 / 1,000 |
| Per Facebook organizer scraped | $5.00 / 1,000 |
| Per actor start (waives first 5s compute) | $0.00005 |
Worked example: A typical run that scrapes one venue page and pulls its 50 upcoming events:
1 organizer profile × $5 / 1,000 = $0.00550 events scraped × $5 / 1,000 = $0.250─────────────────────────────────────────────total = $0.255
No subscription, no minimum spend. The price is all-inclusive — compute and residential proxy are covered, never billed on top. You pay only for events that actually land in your dataset; failed retries and skipped duplicates are free.
For comparison, the official apify/facebook-events-scraper charges $13 per 1,000 events on its Free plan ($7 on Business). This actor is ~60% cheaper — it undercuts even their Business tier — and goes deeper (past the 8-event cap).
Quickstart
Paste any of these into Paste Facebook URLs:
https://www.facebook.com/TEDxAmsterdamhttps://www.facebook.com/events/666594420519340/666594420519340TEDxAmsterdamhttps://www.facebook.com/groups/123456789012345/
Each line is auto-detected as an event, an organizer page, or a group. Mix freely.
The Cascade depth dial controls how deep the actor follows the social graph from each input:
- 0 — scrape just what you paste. Cheapest, fastest. Event → 1 event row. Organizer → 1 profile row. Group → its events.
- 1 (default) — also pull each organizer's full event calendar AND each event's host profiles. The sweet spot for most users.
- 2 — follow co-host relationships one more hop (organizer → events → those events' hosts).
- 3–5 — recursive deep cascade. Use with
maxTotalEventsto cap spend.
Pick an events time range — upcoming (default), past, or both. The two total caps (maxTotalEvents and maxTotalOrganizers) give you a hard ceiling on spend per run regardless of cascade depth.
Full vs. list detail
The Event detail level setting decides how much we fetch per event (the per-event price is the same either way):
full(default) — scrape every event's complete detail: description, exact coordinates, ticket link, attendee count, end time, categories. Richest data.list— emit events straight from the organizer's listing: name, date, venue, city, cover photo, and host — but skip the detail-only fields. Runs roughly 4× faster because it skips the per-event detail fetch. The cascade still expands hosts in this mode.
If you're an aggregator that just needs "what's on, where, and when" with a cover image, list mode is faster. Switch to full only when you need descriptions, tickets, or precise coordinates.
What you get back
The dataset writes one row per scraped entity, tagged with type. Switch between the Events and Organizers tabs to see rich previews — cover photos render inline, dates are parsed, links are clickable. Export as JSON, CSV, Excel, or via the Apify API.
Event row
{"type": "event","discoveredVia": "organizer-expansion","id": "1234567890123456","name": "TEDxAmsterdam 2026: Ideas Worth Spreading","description": "...","startTimestamp": 1763110800,"endTimestamp": 1763136000,"formattedDate": "Sat, Nov 14, 2026 at 9:00 AM","timezone": "Europe/Amsterdam","location": {"name": "Royal Theater Carré","city": { "name": "Amsterdam" },"coordinates": { "latitude": 52.362, "longitude": 4.901 }},"hosts": [{ "id": "100064...", "name": "TEDxAmsterdam", "type": "Page" }],"photo": { "imageUri": "https://..." },"ticketUrl": null,"isCanceled": false,"isOnline": false,"usersResponded": 412,"url": "https://www.facebook.com/events/1234567890123456/"}
Organizer row
{"type": "organizer","discoveredVia": "input","id": "100064xxxxxxxxx","name": "TEDxAmsterdam","vanity": "TEDxAmsterdam","url": "https://www.facebook.com/TEDxAmsterdam","category": "Nonprofit Organization","isVerified": false,"description": "...","contextualName": "Amsterdam, Netherlands","profilePicture": { "small": "https://...", "medium": "https://...", "large": "https://..." },"coverPhoto": { "imageUri": "https://..." }}
Error row
A bad input never aborts the run — it becomes a row you can filter on:
{ "type": "error", "input": "not-a-real-thing", "reason": "Unrecognised input" }
How it compares
| This actor | apify/facebook-events-scraper (official) | Keyword-search actors | |
|---|---|---|---|
| Past Facebook's 8-event cap | ✅ | ❌ (only what logged-out visitors see) | ❌ |
| Auto-detects event / page / group input | ✅ | partial | ❌ |
| Cascade expansion (event → host → host's events) | ✅ | ❌ | ❌ |
| Keyword / city / date search | ❌ | ❌ | ✅ |
| Pricing | $5 / 1,000 events | $13 / 1,000 events (Free), $7 (Business) | $1–$5 / 1,000 |
| Speed (typical 50-event organizer) | ~30 seconds | ~minutes | ~minutes |
This actor is built for deep extraction. If you need keyword/city event search, use one of the search-based actors and pipe their resulting organizer URLs back into this one — they're complementary, not competitors.
Use cases
- Event aggregators and discovery platforms — bulk-import an entire region's events from a list of venues, brands, or groups.
- Lead generation — find organizers active in your niche and their upcoming events for outreach campaigns.
- Market and competitor research — track who's running events where, at what cadence, in which categories.
- Local guides and weekend-calendar feeds — auto-populate "what's on this week" listings without writing your own crawler.
Input reference
| Field | Type | Default | Notes |
|---|---|---|---|
inputs | string[] | (required) | Event URLs, event IDs, organizer/page URLs, organizer vanity names, group URLs. Auto-classified per item. |
cascadeDepth | integer (0–5) | 1 | Number of expansion hops from each input. See the cascade ladder above. |
eventsTimeRange | enum | "upcoming" | "upcoming", "past", or "both". Applies to organizer/group expansion. |
eventDetail | enum | "full" | "full" = complete per-event detail. "list" = name/date/venue/city/cover/host only, ~4× faster (same per-event price). |
maxEventsPerOrganizer | integer (1–100) | 50 | Caps how many events are pulled per expanded organizer or group. |
maxTotalEvents | integer (1–5,000) | 500 | Hard global cap on events scraped per run. Checked before each full event scrape — you never pay for events that don't appear in the dataset. |
maxTotalOrganizers | integer (1–1,000) | 100 | Hard global cap on organizer profiles scraped per run. |
proxyConfiguration | object | Apify Proxy RESIDENTIAL | Residential proxy is required — Facebook blocks datacenter IPs. Country dropdown in the UI lets you pin to a region (e.g. GB for UK events). |
FAQ
Do I need cookies or a Facebook account? No. The actor reads only public data, as a logged-out visitor would.
Why a residential proxy?
Facebook blocks datacenter IPs. The default RESIDENTIAL group of Apify Proxy is enough — no extra setup. You can optionally pin to a country in the proxy editor.
What about past events?
Set eventsTimeRange to "past" or "both". Note: Facebook caps past events at 8 per organizer (logged-out limit). Upcoming uses full pagination.
What about Facebook event search by keyword or city? This actor doesn't do search — it's built for deep extraction from organizer pages and groups you already know. For keyword/city search, use a search-based actor and pipe its organizer URLs into this one. The two are complementary.
How long does a typical run take? A 50-event organizer scrape finishes in under 30 seconds. A cascade-depth-3 run with 500 events typically takes 2–4 minutes. HTTP-only architecture — no Chromium overhead.
What about Apify platform costs (compute, proxy bandwidth)? The price is all-inclusive. You pay only the per-event and per-organizer charges above — compute and residential proxy are covered, not billed on top. There's no surprise platform bill.
What's the difference between full and list detail then?
Purely data richness and speed — the per-event price is the same either way. full returns every field (description, coordinates, tickets, attendee count). list returns name, date, venue, city, cover photo, and host, and runs roughly 4× faster because it skips the per-event detail fetch. Choose list if you only need "what's on, where, when" with a cover image; choose full when you need the rest.
A run failed — what now?
Re-run it. Runs are billed only on successful scrapes — failed events don't appear in your dataset and aren't charged. See RUNBOOK.md in the actor's GitHub for troubleshooting. If Facebook changes its public surface, watch the version log: typical hotfix turnaround is within hours.
Can I run this on millions of events?
Yes — use the maxTotalEvents cap to bound spend. The actor streams to the dataset as it scrapes, so you can pause/resume large jobs via Apify's scheduler.
Support
For bugs or feature requests, use the Issues tab on this actor's Apify Store page. Runs are billed only on successful scrapes, so a failed run costs you nothing while we investigate.


