Facebook Page Events Scraper — Dates, Venue, Tickets, No Login avatar

Facebook Page Events Scraper — Dates, Venue, Tickets, No Login

Pricing

$5.00 / 1,000 events

Go to Apify Store
Facebook Page Events Scraper — Dates, Venue, Tickets, No Login

Facebook Page Events Scraper — Dates, Venue, Tickets, No Login

Events of public Facebook Pages, or single events by address: name, start and end, place with city and coordinates, online or in person, canceled, host, description, ticket address, cover. Many Pages a run, each event's own page read for the details. No login.

Pricing

$5.00 / 1,000 events

Rating

0.0

(0)

Developer

Berkan Kaplan

Berkan Kaplan

Maintained by Community

Actor stats

0

Bookmarked

1

Total users

0

Monthly active users

3 days ago

Last modified

Share

Facebook Page Events Scraper — Dates, Venue, Tickets, No Login 🚀

foXLabs Facebook series: Page Posts · Page Profile · Post Comments · Page Reviews · Page Videos

🎉 Events of public Facebook Pages — and single events by address — exactly as Facebook shows them to a signed-out visitor: name, exact start and end, place with city and coordinates, online or in person, past or upcoming, canceled, host, description, ticket address, cover. Many Pages a run; each event's own page is read for the details. No login, no cookies, no account of anyone.

🔍 What is the Facebook Page Events Scraper — and when should you use it?

Give this Actor public Facebook Pages (or event addresses) and it returns their events as clean rows — exact times, venue with coordinates, host, description and ticket link.

Use it when you need: a Page's upcoming or past events as structured data; event listings with venue + coordinates for a calendar or map; or ticket links for an events aggregator.

Use something else when: you need the Page's posts → Page Posts; its contact record → Page Profile.

🤖 Use with AI agents

Already on the Apify MCP server? Ask for this Actor by name: foxlabs/facebook-page-events-scraper. An agent can discover it, run it and read the dataset over MCP.

Real-time Standby API. This Actor ships a Standby endpoint so an agent can fetch events on demand — GET /events?page=NASA&maxEvents=8 for a Page, GET /events?event=1474625497812411 for one event, billed with the same event event.

Otherwise paste this into Claude, ChatGPT, Cursor or any MCP-enabled assistant:

I want public Facebook Page events using the Apify Actor
`foxlabs/facebook-page-events-scraper`.
Input: `pages` is a list of Pages (their events tab is read); `events` is a list of single event
URLs/ids; `withDetails` reads each event's page for exact times/place/tickets; `upcomingOnly`
keeps future events. Each row has name, startsAt, placeName, city, latitude, longitude, ticketUrl.
Start with:
{ "pages": ["NASA"], "withDetails": true }
Ask me which Pages or events I want, run the Actor, then summarise them as a calendar.

The machine-readable API, MCP config and OpenAPI definition live at apify.com/foxlabs/facebook-page-events-scraper.md.

📋 Overview

Everything you need to turn public Facebook Page events into clean, structured data — exact times, venue with coordinates, host and tickets — in one Actor, with no login, cookies or account.

Why teams pick this Actor:

  • ✅ Exact times + venue — start/end with timezone, place name, city, address and coordinates.
  • 🎟️ Tickets & cover — the ticket link and the cover image per event.
  • 🔁 Recurring events handled — a series plus each of its dates, linked by parentEventId, no id delivered twice.
  • 🎯 Honest nulls — a value Facebook does not give is null, never 0/"".
  • 💰 Pay only for results — one event event per row; status rows and unreadable Pages free.
  • 🤖 Agent-ready — MCP + a real-time Standby API.

✨ Features

  • 🔍 Page events or single events — a Page's events tab, or specific event URLs/ids.
  • 🗓️ Full event — name, description, exact start/end + timezone, online/in-person, past/upcoming, canceled.
  • 📍 Venue — place name, id, city, address, latitude, longitude.
  • 👤 Host + tickets — host name/URL, ticket URL, cover image.
  • 🧹 Filter — upcomingOnly.

🎬 Quick Start

curl -X POST "https://api.apify.com/v2/acts/foxlabs~facebook-page-events-scraper/runs?token=YOUR_TOKEN" \
-H "Content-Type: application/json" \
-d '{"pages": ["NASA"], "withDetails": true}'

🚀 Getting Started (3 steps)

  1. Choose Pages or events — pages (name/@handle/id/URL) and/or events (event URL/id).
  2. Pick depth — keep withDetails on for exact times/place/tickets; set upcomingOnly if you want.
  3. Run and export — get a clean dataset as JSON, CSV or Excel.

📥 Input

FieldDefaultWhat it does
pages—One Page per line. Its events tab is read: upcoming when it has any, past otherwise (how Facebook shows it).
events—One event per line: its URL or numeric id.
maxEventsPerPage50Events to deliver per Page.
maxEvents10000Rows in the whole run.
withDetailstrueRead each event's own page for exact times, place, description, tickets, cover.
upcomingOnlyfalseKeep only events that have not started yet.
proxyConfigurationresidential Apify ProxyNothing to change for normal use.

📤 Output

One row per event (type: "event"). A value Facebook does not give is null.

FieldWhat it is
eventId, urlthe event's id and address
name, descriptionname and description (from the event's page)
startsAt, endsAt, timezone, timeTextstart/end (UTC), timezone, and Facebook's sentence
isOnline, isPast, isCanceled, kindonline/in-person, over, canceled, Facebook's kind
placeName, placeId, city, address, latitude, longitudewhere
hostName, hostUrl, hostId, pageIdhost and the Page's id
ticketUrl, coverUrltickets and cover
parentEventIdthe series a recurring date belongs to
detailsReadwhether the event's own page was read
position, input, type, errorplace in the list; input line; row type / free status row
{
"type": "event",
"eventId": "1474625497812411",
"url": "https://www.facebook.com/events/1474625497812411/",
"name": "MAX POWER",
"startsAt": "2026-11-07T13:30:00.000Z",
"endsAt": "2026-11-08T23:00:00.000Z",
"timeText": "Nov 7 at 8:30 AM – Nov 8 at 6:00 PM EST",
"isOnline": false,
"isPast": false,
"placeName": "NASA-John F. Kennedy Space Center",
"hostName": "NASA - National Aeronautics and Space Administration",
"description": "MAX POWER is a new aerospace tech expo and air show…",
"ticketUrl": "https://…",
"detailsRead": true,
"position": 1,
"input": "NASA"
}

💼 Use cases

1. Events calendar / aggregator — pull many Pages' events with exact times and venues. Input: your Pages, withDetails on. Output: events + place + coordinates. Use: populate a calendar or map.

2. Ticketing & promotion leads — events with ticket links for outreach. Input: venue/promoter Pages, upcomingOnly. Output: upcoming events + ticketUrl. Use: a promotion pipeline.

3. Competitor event tracking — watch what events a rival runs. Input: competitor Pages, scheduled. Output: their events over time. Use: benchmark their activity.

🔗 Integration

JavaScript / Node.js

import { ApifyClient } from 'apify-client';
const client = new ApifyClient({ token: 'YOUR_TOKEN' });
const run = await client.actor('foxlabs/facebook-page-events-scraper').call({
pages: ['NASA'], withDetails: true,
});
const { items } = await client.dataset(run.defaultDatasetId).listItems();
console.log(items[0]);

Python

from apify_client import ApifyClient
client = ApifyClient('YOUR_TOKEN')
run = client.actor('foxlabs/facebook-page-events-scraper').call(
run_input={'pages': ['NASA'], 'withDetails': True}
)
for item in client.dataset(run.default_dataset_id).iterate_items():
print(item)

Written for apify-client 3 for Python, where call() returns a run object; with version 1 or 2 it returns a dict — write run['defaultDatasetId'] there.

Automation (n8n / Zapier / Make): schedule or webhook → HTTP request to the Actor API with your pages/events → handle the JSON dataset → push to a sheet, calendar or dashboard.

📊 Pricing

Pay per event: event for every delivered event row — whatever it carries. The price is on the Pricing tab. Nothing else is charged: no start fee, nothing for a status row, nothing for an event the filter left out, nothing extra for reading the event's own page.

❓ FAQ

Can I get both upcoming and past events? No — Facebook shows a visitor one collection: upcoming when the Page has any, otherwise past. (Single events by id are always readable.)

Do I get exact start times? With withDetails on, yes (startsAt/endsAt + timezone). Without it, only Facebook's date sentence (timeText).

How are recurring events handled? As the series plus each date, linked by parentEventId; no id is delivered twice.

Can I export to CSV / Excel / JSON? Yes — directly from the Apify dataset.

What about guest lists / attendance? Not shown to a visitor, so not in the rows.

🐛 Troubleshooting

  • Only past (or only upcoming) events — the events tab shows a visitor one collection; that's Facebook's behaviour, not a bug.
  • No timestamps — turn on withDetails; the tab alone has only the date sentence.
  • A Page returns a status row — no events tab, no such Page, or signed-in only (free).
  • A recurring event appears twice — it shouldn't: a series + its dates are distinct ids linked by parentEventId.

How it reads Facebook: opens the events tab as a signed-out visitor (eight events) and asks Facebook's list query for the rest (eight a call); with withDetails it opens each event's own page for times/place/tickets. Residential Apify Proxy by default; rate-limited exits dropped and replaced. Every run starts with a one-call check and ends with a clear message if Facebook's queries changed.

⚠️ Trademark

Independent, third-party tool. Not affiliated with, endorsed by or connected to Meta Platforms, Inc. "Facebook" and related marks belong to their owners and are used here for identification only.

It reads only what Facebook shows a signed-out visitor, about public events of Pages — no guest lists, no attendees. The Actor does not log in, use anyone's account or cookies, or solve CAPTCHAs. See Apify's blog post on the legality of web scraping.

🤝 Support & contact

Changelog

0.1.2 — 2026-10-11 — the shared core of the family

  • The shared core was updated with the Page Reviews Actor; event rows are unchanged.

0.1.1 — 2026-10-11 — recurring events

  • A recurring event is listed as its series and as each of its dates; a row keeps the id and address it was listed under, and a date names its series in parentEventId (fixing a date delivered twice).

0.1.0 — 2026-10-11 — first release

  • Events of public Facebook Pages as a signed-out visitor sees them — upcoming when the Page has any, past otherwise, eight in the tab and eight a call after — and single events by address.
  • With withDetails each event's page is read: exact start/end + timezone, online/in-person, past/upcoming, canceled, place (id, city, address, coordinates), description, tickets, cover. Without it: name, date sentence, place, host.
  • upcomingOnly leaves past events out without charging. Free status rows for empty lines; restarted runs continue without duplicates. Standby mode prepared; published in batch mode.