ParseForge Scrapers

Facebook Events Scraper - By Keyword, City or Page

parseforge/facebook-events-scraper

Social mediaLead generationAutomation

Facebook events by keyword and city, page or URL: local times, venue, address, map pin, organizer, tickets and interest. No login. Export CSV, Excel, JSON, XML.

Run this scraper See the API call
Total runs
4
Bookmarked
0
Last modified
2 days ago

This scraper was last updated on .

What does the Facebook Events Scraper - By Keyword, City or Page return?

ParseForge Banner

Facebook Events Scraper: Events by Keyword, City or Page, with Dates, Venues & Tickets

Export public Facebook events by keyword and city, from the page of any venue or promoter, or from event links: 100 Chicago events came back in 101 seconds in our last test. Every row carries the start and end time in UTC and in the event's local time, the venue with its street address, city, country and map pin, the organizer page, the ticket link, the description, the cover image, and the interested, going and responded counts Facebook shows. No login, no cookies, no browser. Export to CSV, JSON, Excel, or XML.

The Actor reads what Facebook shows a signed-out visitor: its own event search, a page's Events tab, and each event's page. It returns one flat row per event with 45 fields (54 with organizer details), and every filter you set is checked on the row before it is written, so nothing outside your dates or format is delivered or charged.

Who uses it What they export Facebook events for
Event listing and ticketing sites Local events by city and category, refreshed on a schedule
Venues, promoters and agencies Competitor calendars, line-ups and ticket links in their market
Tourism boards and local media What is on this weekend in a city, with addresses and map pins
Sales and partnership teams Organizers of events in their niche, with the organizer's public email, phone and website
Researchers Event activity by city, category and date for studies of local culture and economy

What it does

The Actor takes keywords with a city, Facebook page links, and event links, alone or together, and returns one row per event.

  • πŸ”Ž Search: Facebook's own event search, logged out, with an exact city filter. Type "Chicago" or "Paris, France" and the Actor finds Facebook's id for that city.
  • πŸ›οΈ Pages: every upcoming event on a venue's, promoter's, artist's or brand's Events tab, and the past ones if you ask.
  • 🎟️ Event links: any event URL shape, including one date of a recurring event, m.facebook.com links, fb.me share links and bare ids.
  • πŸ—“οΈ When: start and end in UTC and in local time with the offset, time zone, Facebook's own date sentence, duration, and the other upcoming dates of a recurring event.
  • πŸ“ Where: venue name and page, street address, city, region, country and country code, Facebook city id, latitude and longitude, online or in person.
  • πŸ‘₯ Who: the organizer page (pageId, pageName, pageUrl) and every co-host with its verified badge.
  • πŸ“ˆ Interest: interested and going counts from Facebook's event search, and the public responded total for every event.
  • 🧾 More: description, cover image, ticket link, categories, canceled and past flags, privacy.
  • βž• Organizer details (optional): the organizer page's category, followers, verified badge, public email, phone, website, address, rating and intro.

What you can do with Facebook events data

πŸ—ΊοΈ Build a city's event calendar.

Search "music", "comedy" and "food festival" in "Austin, TX" with startDateFrom "+0 days" and startDateTo "+30 days". Every row has local start time, address and map pin, ready for a calendar or a map.

🎀 Track every show at the venues you care about.

Put the venues' Facebook pages in pageUrls and schedule the run weekly. New shows appear with their ticket links and dates; otherDates lists the rest of a run of shows.

🀝 Find organizers to partner with.

Search your niche in your target cities with includeOrganizerDetails on. Each event comes with its organizer's public email, phone, website and follower count.

πŸ“Š Measure demand before you book.

Compare interestedCount and goingCount across similar events in a city to see which formats, nights and price points draw a crowd.

Why choose this scraper

What you get
Exact city filter A typed city becomes Facebook's own city id. In our tests "music" filtered to Chicago returned 167 events, and in a 100-event Chicago run 98 rows had Chicago as their city (the other 2 published no venue). "music Chicago" as plain words returned 18 events, 4 of them in Chicago.
Filters you can trust Dates, in-person or online, and canceled events are checked on every row before it is written. Nothing outside them is delivered or billed.
A hard cap maxItems is the total for the whole run, across all keywords and pages. You are never charged for more events than you asked for.
Local time done right startTimeLocal carries the venue's UTC offset, and date filters use the event's local day, so a Saturday 8 PM show in Seattle is a Saturday show.
Pages and venues Reads a page's Events tab, including shows at a venue that other people host.
Recurring events Each row is one real date. A date filter picks the date of a series that falls in your range.
Light Plain HTTP, no browser: about 1 MB of traffic per event, and 205 MB of memory at peak in a 100-event run.

How it compares

All Actors below scrape public Facebook events. Prices are each Actor's public Store price for its main event, read on September 25, 2026, from the free tier to the highest tier.

Actor Price per 1,000 events Monthly users
apify/facebook-events-scraper $13.00 to $2.10 530
scrapegeist/facebook-organizer-events-scraper $4.00 31
powerai/facebook-event-search-scraper $4.99 21
crawlerbros/facebook-events-scraper $2.00 to $1.00 14
ParseForge $2.00 to $1.78 new

Two complaints come up in the leader's low reviews: filters pasted in a search URL were ignored, and runs returned more events than the maximum asked for. Here the filters are inputs of their own and are checked on each row, and maxItems is a hard total for the run.

Honest ceiling: Facebook's search shows a signed-out visitor a limited number of events per keyword. In our tests that was 18 to 204 per keyword and city, depending on the words. Use several keywords, the category filter, or pages of venues to cover a city. Facebook also shows the interested and going split only on search results, so rows that come from a page or an event link carry the responded total instead. Group events need a login and are not supported.

What a Facebook event looks like

One unedited row from a verified run on September 25, 2026 (search "music", Chicago):

{
  "imageUrl": "https://scontent-lga3-2.xx.fbcdn.net/v/t39.30808-6/786890842_1497744675723844_2891474612828155096_n.jpg",
  "type": "event",
  "id": "1622069315986119",
  "name": "The Sound of Music",
  "facebookUrl": "https://www.facebook.com/events/1622069315986119/",
  "startTime": "2026-12-23T01:00:00.000Z",
  "endTime": "2026-12-23T03:45:00.000Z",
  "startTimeLocal": "2026-12-22T19:00:00-06:00",
  "endTimeLocal": "2026-12-22T21:45:00-06:00",
  "timezone": "CST",
  "dateText": "Tuesday, December 22, 2026 at 7:00 PM – 9:45 PM CST",
  "duration": "2 hr 45 min",
  "isOnline": false,
  "isCanceled": false,
  "isPast": false,
  "frequency": "CUSTOM",
  "parentEventId": "1622069309319453",
  "text": "For 65 years, THE SOUND OF MUSIC has been one of our β€œfavorite things.” With its timeless story and irresistibly charming score, this Rodgers & Hammerstein classic ...",
  "venue": "Cadillac Palace Theatre",
  "venueId": "147654725259010",
  "venueUrl": "https://www.facebook.com/CadillacPalaceTheatre",
  "address": "151 W Randolph St, Chicago, IL 60603",
  "city": "Chicago",
  "region": "IL",
  "country": "United States",
  "countryCode": "US",
  "cityId": "108659242498155",
  "latitude": 41.88437,
  "longitude": -87.63318,
  "pageId": "100064649775617",
  "pageName": "Broadway In Chicago",
  "pageUrl": "https://www.facebook.com/BroadwayInChicago",
  "ticketUrl": "https://www.ticketmaster.com/the-sound-of-music-chicago-tickets/artist/2195293?brand=bicartist",
  "interestedCount": 35,
  "goingCount": 1,
  "respondedCount": 2,
  "privacy": "PUBLIC",
  "hosts": [{ "id": "100064649775617", "name": "Broadway In Chicago", "url": "https://www.facebook.com/BroadwayInChicago", "verified": true }],
  "categories": ["Theater"],
  "otherDates": ["2026-12-23T19:00:00.000Z", "2026-12-24T01:00:00.000Z"],
  "source": "search",
  "inputUrl": "music",
  "scrapedAt": "2026-09-25T21:01:34.552Z",
  "errorCode": null,
  "error": null
}

The image URL and the description are shortened here; the dataset has them in full. With includeOrganizerDetails on, the same row also carries organizerCategory, organizerFollowersCount, organizerVerified, organizerEmail, organizerPhone, organizerWebsite, organizerAddress, organizerRating and organizerIntro. In our test the Showbox Presents page gave "Arts & entertainment", 142,000 followers, verified, a public email, its website and its street address.

A value Facebook does not publish reads "Not Disclosed" (text) or "N/A" (numbers), and empty lists are []. A row with errorCode set is an input that could not be read, with the reason in error; it is never charged. The codes are EVENT_NOT_FOUND, EVENT_BLOCKED, EVENT_UNREACHABLE, INVALID_URL, SHORT_LINK_UNRESOLVED, GROUP_NOT_SUPPORTED, PAGE_UNREACHABLE, NO_EVENTS_FOUND and SEARCH_UNREACHABLE.

Configure the run

Mix keywords, pages and event links in one run. The Input tab lists every option.

Comedy and live music in Seattle over the next two weeks, in person only:

{ "searchQueries": ["comedy", "live music"], "location": "Seattle", "startDateFrom": "+0 days", "startDateTo": "+14 days", "eventFormat": "inPerson", "maxItems": 200 }

Every upcoming show at two venues, with the organizers' contact details:

{ "pageUrls": ["https://www.facebook.com/theshowboxseattle", "https://www.facebook.com/LaughsComedySeattle"], "includeOrganizerDetails": true }

Free users

Free-plan runs return up to 10 events as a preview. Upgrade your Apify plan to collect up to 1,000,000 events per run.

Run it

  1. Create a free Apify account with $5 in credit.
  2. Open the Facebook Events Scraper.
  3. Type keywords and a city, or paste Facebook pages or event links, set any date or format filter, and click Start.
  4. Export the events as CSV, Excel, JSON, or XML from the Dataset tab, or schedule the run to keep a calendar fresh.

Run it programmatically through the Apify API or the ApifyClient for JavaScript and Python.

Use with AI agents (MCP)

Give an AI agent live Facebook events through the Model Context Protocol. Add the Actor to Claude, Cursor, or any MCP client:

claude mcp add --transport http apify "https://mcp.apify.com?tools=parseforge/facebook-events-scraper"

Then prompt it in plain language:

  • "List this weekend's comedy shows in Chicago with their venues, start times and ticket links."
  • "Get every upcoming show at these three venues and tell me which nights are still open."
  • "Find food festivals in Austin in October and give me the organizers' emails."

Copy this into ChatGPT, Claude, or Cursor to start:

Use the Apify Actor "parseforge/facebook-events-scraper" to collect Facebook events. Input: { "searchQueries": ["<keyword>"], "location": "<city>", "pageUrls": ["<facebook page url>"], "eventUrls": ["<facebook event url>"], "startDateFrom": "<YYYY-MM-DD>", "startDateTo": "<YYYY-MM-DD>", "maxItems": <n> }. Events come back with name, startTimeLocal, venue, address, city, country, latitude, longitude, pageName, pageUrl, ticketUrl, interestedCount, goingCount and text. Call it with the ApifyClient and my APIFY_TOKEN.

Troubleshooting

Why did a search return fewer events than I asked for?

Facebook shows a signed-out visitor a limited number of events per keyword. Add more keywords, a category, or the pages of the venues in the city. The log says how many events your filters left out.

Why are some events from nearby towns?

When a city cannot be matched to Facebook's city id, it is added to the search words instead, and Facebook matches words loosely. The log says which of the two happened. Paste a facebook.com/events/explore link or a cityId from any row into location for the exact filter.

Why is interestedCount "N/A"?

Facebook shows the interested and going split only on its search results. Rows from pages or event links carry respondedCount instead.

Why did a page return no events?

The page has no upcoming events on its Events tab. Turn on includePastEvents for its past events. Groups need a login and are not supported.

Why did an event link come back with EVENT_NOT_FOUND?

The event was removed, is private, or the id is wrong. Facebook sends those links to its login page. The row is free.

FAQ

Question Answer
Do I need a Facebook account or cookies? No. It reads what Facebook shows a signed-out visitor, with no login and no cookies.
Which inputs work? Keywords with a city, a facebook.com/events/search link, Facebook page links, and event links in any shape (m.facebook.com, fb.me/e/, one date of a series, a bare id).
How does the city filter work? Type a city ("Chicago", "Paris, France") and the Actor finds Facebook's city id and uses it as an exact filter. A facebook.com/events/explore link or a numeric city id works too.
Are the dates in my time zone? startTime and endTime are UTC. startTimeLocal and endTimeLocal are the event's own local time with its offset, and the date filters use that local day.
Can I filter by date? Yes, with startDateFrom and startDateTo, as dates (2026-10-01) or relative values (+7 days). Each event is checked before it is written.
Does it handle recurring events? Yes. Each row is one date, with parentEventId for the series and otherDates for the next dates.
Can I get the organizer's email? Turn on includeOrganizerDetails: the organizer page's public email, phone, website, address, category and followers are added when the page publishes them.
Does it include attendee names? No. Facebook shows guest lists only to signed-in users, and this Actor does not log in.
How many events per run? Free plan: 10. Paid: up to 1,000,000, bounded by what Facebook lists for your keywords and pages.
Do I need a proxy? The default Apify Proxy setting is right. Facebook limits how many events one address can open, so every event uses a fresh address; residential proxy is not needed.
Is this an official Facebook product? No. It is unofficial and reads only public Facebook data.

Next step

Every row links to the organizer page (pageUrl) and the venue page (venueUrl), and both work as input for our other Facebook Actors:

Browse the full ParseForge collection for more scrapers.

πŸ†˜ Need help? Open our contact form with your run ID, your input, and what you expected.

⚠️ Disclaimer. This Actor is unofficial and is not affiliated with, endorsed by, or sponsored by Meta Platforms, Inc. It collects only publicly available Facebook data that anyone can see without logging in. You are responsible for using the data in compliance with Facebook's terms and applicable laws, including GDPR and CCPA. Do not use it to identify, profile, or target individuals.

What input does the Facebook Events Scraper - By Keyword, City or Page accept?

FieldTypeWhat it doesDefault
searchQueries array What to look for, as you would type it in Facebook's event search: comedy, jazz, yoga, food festival. Each keyword is one search. A facebook.com/events/search link works too. ["comedy"]
location string Where the events happen, for example Seattle or Paris, France. It is added to every keyword. For an exact city match, paste a Facebook city link (facebook.com/events/explore/...) or its numeric city id; every result row carries the cityId you can reuse here. Seattle
eventUrls array Links to Facebook events, one per line: facebook.com/events/123..., a single date of a recurring event, m.facebook.com links, fb.me/e/ share links, or bare event ids. Each one returns one row. not set
pageUrls array Facebook pages of venues, promoters, clubs, artists or brands, for example facebook.com/theshowboxseattle. The run reads every event on the page's Events tab. Groups need a login and are not supported. not set
maxItems integer Free users: Limited to 10 items (preview). Paid users: Optional, max 1,000,000 10
maxEventsPerSource integer Optional. Stops each keyword or page at this many events, so one busy source cannot use up Max Items. Leave empty for no per-source limit. not set
startDateFrom string Keep only events that start on this day or later, in the event's own local time. A date (2026-10-01) or a relative value (+7 days). not set
startDateTo string Keep only events that start on this day or earlier, in the event's own local time. A date (2026-10-31) or a relative value (+30 days). not set
category string (22 options) Facebook's own event category, applied to keyword searches. not set
eventFormat string (3 options) Keep every event, only events at a physical place, or only online events. any
skipCanceledEvents boolean Facebook keeps canceled events online and marks them. Turn this on to leave them out. false
includePastEvents boolean For Pages that host events: read the Past events tab too, not only upcoming events. false
includeOrganizerDetails boolean Adds the organizer page's category, followers, verified badge, public email, phone, website, address, rating and intro to each event. false
proxyConfiguration object Facebook limits how many events one address can open, so every event goes out on a fresh Apify Proxy address. The default works; residential is not needed. {"useApifyProxy":true}

How much does the Facebook Events Scraper - By Keyword, City or Page cost?

from $1.78 per 1,000 results

Charged forWhat it isPrice each
Actor Start Charged when the Actor starts running. Number of events charged depends on Actor memory (one event per GB, minimum one event). $0.02
Event Each Facebook event written to the dataset. Error rows and events outside your filters are free. $0.00178 to $0.002
Organizer details Optional. The organizer page's category, followers, email, phone, website and address added to an event. Charged only when found. $0.00445 to $0.005

Tiered: the lower figure is the price on a higher Apify plan. Billing and the free credit live on Apify.

How do I call the Facebook Events Scraper - By Keyword, City or Page API?

One POST returns the dataset directly. Same shape for every scraper in the library, so swapping the slug is the only change.

POST Β· run and get results
curl -X POST "https://api.apify.com/v2/acts/parseforge~facebook-events-scraper/run-sync-get-dataset-items?token=$APIFY_TOKEN" \
  -H "Content-Type: application/json" \
  -d '{
    "searchQueries": [
      "comedy"
    ],
    "location": "Seattle",
    "maxItems": 10,
    "eventFormat": "any",
    "skipCanceledEvents": false
  }'

What example inputs can I use?

Use these inputs to see how a run is configured.

input.json
{
  "searchQueries": [
    "comedy"
  ],
  "location": "Seattle",
  "maxItems": 10,
  "eventFormat": "any",
  "skipCanceledEvents": false
}

What do users say about the Facebook Events Scraper - By Keyword, City or Page?

No reviews yet. Be the first.

How do I report an issue with the Facebook Events Scraper - By Keyword, City or Page?

We build and maintain this scraper, so a problem with it comes to us. Report it on the Apify listing and the thread stays attached to the scraper where the next person can find it: open an issue.

Broken and urgent, or you would rather not post in public? Write to parseforge@protonmail.com and it reaches the people who wrote it.

What related scrapers can I use?

Run Facebook Events Scraper - By Keyword, City or Page on Apify All scrapers