Facebook Events Scraper
Pricing
from $1.00 / 1,000 results
Facebook Events Scraper
Scrape public Facebook event data without cookies or authentication. Extract event name, description, date, time, location, coordinates, hosts, photos, ticket URLs, and attendee counts.
Pricing
from $1.00 / 1,000 results
Rating
0.0
(0)
Developer
Crawler Bros
Maintained by CommunityActor stats
1
Bookmarked
80
Total users
17
Monthly active users
16 days ago
Last modified
Categories
Share
Extract detailed data from public Facebook events without login or cookies. Get event name, description, date, time, location with coordinates, hosts, cover photos, ticket URLs, attendee counts, and more.
Features
- Scrape public Facebook events by URL or event ID
- Extract events from Facebook page event listings
- Search Facebook's public events by keyword and/or city
- Automatic pagination past Facebook's own ~8-result batch when more are wanted (best-effort)
- Monitor mode for scheduled runs — only new events since last run
- No login, cookies, or authentication required for the core (non-paginated) fetch
- Full event details: name, description, dates, location, hosts, photos
- GPS coordinates for event locations
- Attendee/interested counts
- Online event support (type, third-party URLs)
- Canceled event detection
- Export to JSON, CSV, Excel, or XML
Input
| Field | Type | Required | Description |
|---|---|---|---|
| Event URLs | string[] | See note | Facebook event URLs, page event listing URLs, or bare event IDs |
| Search query | string | See note | Free-text keyword search of Facebook's public events index (e.g. "music festival") |
| Search location | string | See note | City/place to scope the search to (e.g. "Chicago", "Austin, TX") — combined with Search query, or used alone to browse a city's events |
| Monitor mode | boolean | No | When on, only pushes events not seen in a previous run for the same page/search target — for scheduled runs watching a page or query for new events |
| Max results | integer | No | Maximum events to return from a page/search (default 50). Automatically fetches additional pages beyond Facebook's own ~8-result batch when more are wanted — see "How do I get more than 8 results?" below |
| Proxy Configuration | object | No | Optional proxy settings for blocked IPs |
At least one of Event URLs, Search query, or Search location must be provided. They can be combined in a single run.
Supported URL Formats
- Single event:
https://www.facebook.com/events/1234567890 - Page events:
https://www.facebook.com/PageName/events - Bare event ID:
1234567890
Example Input
{"eventUrls": ["https://www.facebook.com/events/1855253805343101","https://www.facebook.com/events/1084489187170885"]}
Example Input — search
{"searchQuery": "music festival"}
Example Input — search by city
{"searchQuery": "food festival","searchLocation": "Chicago"}
Search location scopes results to that city (e.g. the above finds "food festival" events in Chicago) — Facebook doesn't support true geo-radius search, but this reliably returns city-relevant results. You can also use Search location alone (no Search query) to browse a city's events generally.
Example Input — monitor mode (scheduled runs)
{"eventUrls": ["https://www.facebook.com/TED/events"],"monitorMode": true}
Run this on a schedule (e.g. daily) and each run will only output events not seen in a previous run of this actor for the same page/query — ideal for alerting on newly-posted events without re-processing ones you already have. State is remembered across runs automatically; there's nothing else to configure. Only applies to page event listings and search queries (a specific Event URL is always fetched, since there's no "new event" concept for one fixed event).
Output
Each event record contains the following fields:
| Field | Type | Description |
|---|---|---|
event_id | string | Facebook event ID |
name | string | Event name/title |
description | string | Full event description |
url | string | Facebook event URL |
start_timestamp | integer | Unix timestamp of event start |
end_timestamp | integer | Unix timestamp of event end |
start_date | string | ISO 8601 start date |
end_date | string | ISO 8601 end date |
formatted_date | string | Human-readable date from Facebook |
timezone | string | Event timezone (e.g., "UTC+02") |
is_online | boolean | Whether the event is online |
is_canceled | boolean | Whether the event is canceled |
location_name | string | Venue or location name |
location_address | string | Street address |
location_city | string | City name |
latitude | number | Location latitude |
longitude | number | Location longitude |
photo_url | string | Cover photo direct URL |
video_url | string | Cover video URL (if available) |
hosts | array | Event hosts (name, URL, type, verification status, profile picture) |
creator | object | The event's original creator (id, name, type) — distinct from hosts |
categories | array | Event categories |
ticket_url | string | External ticket purchase URL |
description_links | array | Every external link Facebook itself recognized in the description |
online_type | string | Online event type (MESSENGER_ROOM, THIRD_PARTY, etc.) |
users_responded | integer | Combined "going + interested" count (Facebook no longer exposes these split, see Limitations) |
is_past | boolean | Whether the event has already happened |
is_sale_event | boolean | Whether this is a ticketed/sale event |
event_kind | string | Event visibility (e.g. PUBLIC_TYPE) |
rsvp_style | string | RSVP style (e.g. PUBLIC_RSVP_STYLE) |
event_frequency | string | SINGLE, or a recurrence value for series events |
has_child_events | boolean | Whether this event is part of a recurring/multi-date series |
child_events_count | integer | Number of other occurrences in the series, if any |
one_line_address | string | Full formatted single-line address/location string |
photo_caption | string | Cover photo alt-text/description, when Facebook provides one |
photo_width / photo_height | integer | Cover photo dimensions |
input_url | string | The input URL or search query that found this event |
scraped_at | string | ISO 8601 timestamp of when data was scraped |
Example Output
{"event_id": "1855253805343101","name": "SZIGET FESTIVAL 2026 - Official Event","description": "The story continues. Stronger, freer, and more ours than ever...","url": "https://www.facebook.com/events/1855253805343101/","start_timestamp": 1786428000,"end_timestamp": 1786874400,"start_date": "2026-08-11T06:00:00+00:00","end_date": "2026-08-16T10:00:00+00:00","formatted_date": "11 Aug at 08:00 - 16 Aug at 12:00 CEST","timezone": "UTC+02","is_online": false,"is_canceled": false,"location_name": "Sziget Festival Official (Default)","location_address": "","location_city": "Budapest","latitude": 47.553047718642,"longitude": 19.054233735845,"photo_url": "https://scontent.xx.fbcdn.net/v/...","photo_width": 960,"photo_height": 540,"video_url": "","hosts": [{"name": "Sziget Festival Official","url": "https://www.facebook.com/SzigetFestival","type": "User","is_verified": false,"profile_picture_url": "https://scontent.xx.fbcdn.net/v/..."}],"creator": {"id": "100064653165451","name": "Sziget Festival Official","type": "User"},"categories": [],"ticket_url": "https://szigetfestival.com/en/tickets","description_links": ["https://szigetfestival.com/en/tickets"],"online_type": "","users_responded": 11604,"is_past": true,"is_sale_event": false,"event_kind": "PUBLIC_TYPE","rsvp_style": "PUBLIC_RSVP_STYLE","event_frequency": "SINGLE","one_line_address": "Sziget Festival Official (Default)","input_url": "https://www.facebook.com/events/1855253805343101","scraped_at": "2026-03-25T12:00:00+00:00"}
Use Cases
- Event monitoring: Track upcoming events from specific venues or organizers, or enable Monitor mode on a schedule to get alerted only about newly-posted events
- Market research: Analyze event attendance and engagement trends
- Location intelligence: Map events by geographic coordinates
- Content aggregation: Collect event data for calendars and listings
- Competitive analysis: Monitor competitor events and attendance
Limitations
- Public events only: Private or restricted events cannot be accessed
- Login wall: Some events may be blocked from datacenter IPs. Enable proxy if this happens.
- Facebook Group events require login: Not supported by this actor. Only Pages and public event/search URLs are supported.
- No individual guest/attendee lists: Facebook does not expose who's going/interested by name to public, logged-out requests — only aggregate counts. This is a platform-level restriction, not a limitation of this actor.
- No separate going/interested counts: Facebook removed the separate "going" and "interested" figures from its public event data; only a combined
users_respondedcount remains available. - Pagination past Facebook's own ~8-per-batch limit is best-effort, not guaranteed: fetching results beyond the first batch generally works but isn't 100% reliable on every attempt. When it doesn't succeed, the run still completes normally with the first ~8 real results — it never fails the run, you just may see fewer than Max results on some runs. Re-running usually succeeds.
- Rate limits: Facebook may rate-limit requests. The actor uses delays between requests to avoid blocks.
- Recurring event series aren't expandable into individual occurrences: for a recurring event, this actor returns
event_frequency,has_child_events, andchild_events_countas summary signals, but not the list of sibling occurrence IDs/URLs — Facebook doesn't expose that to public, logged-out visitors. Each occurrence can only be found if it independently surfaces through Search or a page's event listing.
FAQ
Is this actor affiliated with Facebook or Meta? No. This is an independent, third-party actor that reads publicly available Facebook event pages. It is not affiliated with, endorsed by, or sponsored by Meta Platforms, Inc.
How fresh is the data? Every run fetches live data directly from Facebook at request time — there's no caching or a stale local copy. Attendee counts, cancellation status, and any other field can change between one run and the next if the event itself changes on Facebook.
Does this require a Facebook account? No. This actor works without any login, cookies, or authentication. It only accesses publicly available event data.
Why are some events not returned? The event may be private, deleted, or restricted to logged-in users. The actor only works with public events.
Can I search for events by keyword? Yes. Use the Search query input field with any keyword (e.g. "music festival", "tech conference"). This returns full details for the first batch of matching public events. You can also provide specific event URLs or page event listing URLs, or combine both.
Can I search for events by city? Yes. Use the Search location input field (e.g. "Chicago", "Austin, TX"), alone or combined with a Search query. Facebook doesn't offer a true geo-radius search — this works by scoping the search text to that city, which reliably returns city-relevant events.
How do I get events from a Facebook page?
Use the page events URL format: https://www.facebook.com/PageName/events. The actor will extract all listed events from that page.
Do I need a proxy? Usually not. Facebook event pages are publicly accessible. However, if you're running from a datacenter IP that Facebook blocks, enabling a residential proxy may help.
How many events can I scrape? There is no hard limit on Event URLs — each one is fetched independently, with a bounded number running concurrently to stay fast without hammering Facebook. Page/search results are governed by Max results (default 50, up to 500).
How do I get more than 8 results from a page or search? Set Max results above 8. Facebook's own page only serves ~8 results per request, and fetching further results beyond that isn't guaranteed on every single run. A run always completes successfully either way; you just may get the first ~8 results instead of the full Max results occasionally. Re-running the same request usually succeeds.
How do I get alerted only about new events? Enable Monitor mode. Each run compares against what it saw last time for the same page/query and only pushes events it hasn't reported before — run it on a schedule for ongoing monitoring.
Can I get every date in a recurring event series from one event URL?
No — Facebook doesn't expose that to public/logged-out visitors. You'll get event_frequency, has_child_events, and child_events_count for the event you scrape, but not the individual sibling occurrences' IDs or URLs. If you know the individual occurrence URLs, scrape them directly — otherwise try finding them via Search.