Introducing the Instagram APIRead more →

Facebook City Events API. Events, page by page.

By date window, with going and interested counts. We handle the proxies, blocks and platform changes.

Facebook City Events API at a glance

Returns the public Facebook events in a city from its events link or ID, for every coming date or a window such as this weekend. Each event has its name, whether it's scheduled, under way or over, its start time with its offset from UTC, whether it's online, its venue and city, cover, ticket price label, the series a recurring date belongs to, the group it was created in, and how many people are going and interested.

GET /v1/facebook/place_events

Read the API reference
  • 1 credit per page, $0.75–$1.97 per 1,000 pages
  • 21 typed fields null when unknown
  • 12 events per page, Facebook's ranking of the city's events, not by date
  • url is all it needs, e.g. https://www.facebook.com/events/explore/saint-petersburg-florida/111326725552547/

Send one request. Get up to 12 events back.

Copy the request in your language, or hand it to your agent. Sign up for an API key and your first 100 credits are free.

$ npm install socialtap
url = https://www.facebook.com/events/explore/saint-petersburg-florida/111326725552547/
GET /v1/facebook/place_eventsTry in
const params = new URLSearchParams({
  url: "https://www.facebook.com/events/explore/saint-petersburg-florida/111326725552547/",
});
const res = await fetch(`https://socialtap.dev/v1/facebook/place_events?${params}`, {
  headers: { "x-api-key": process.env.SOCIALTAP_API_KEY ?? "" },
});
const body = await res.json();
if (!res.ok) throw new Error(`${body.error.code}: ${body.error.message}`);
const { data, page, meta } = body;
console.log(data, meta.credits_charged);
200 OK · GET https://socialtap.dev/v1/facebook/place_eventsLong arrays and strings are shortened here. Real responses are complete.Docs

What you send and what comes back.

The response reference lists every field, its type and when it is null. See the full schema.

  • Null means unknown

    A field Facebook Events doesn't show is null, never zero or an empty string, so a real zero always means zero.

  • What it accepts

    The city: its Facebook events link (facebook.com/events/explore/<city>/<id>/, with a time window after it such as /today/; m. and web. hosts too) or its numeric ID.

  • What comes back

    Public events with their start and end, time zone, venue or online flag, hosts, categories, ticket link and attendance.

platformstring
Platform ID (facebook, …).
idstring
Platform-native event ID (string; Facebook's numeric event ID).
urlstring
Canonical event page URL (https://www.facebook.com/events/<id>/).
namestring
The event's name as its page shows it.
descriptionstring
Its description as plain text; null when it has none.
statusstring
At fetch time: scheduled (not started), ongoing (started, not over), ended (over), canceled (called off by its hosts); unknown when the source that answered does not show it (a fallback whose results hold only a name and a picture). New values may be added; treat any other value as unknown.
start_atstring
When it starts, RFC 3339 UTC; null only when the platform shows no start.
end_atstring
When it ends, RFC 3339 UTC; null when its hosts set no end or the platform does not show it.

What teams build with the Facebook City Events API.

  • List what's on in a city this weekend

  • Monitor a market's concerts, festivals and meetups

  • Feature local events in a city guide

  • Track how interest in local events builds

Good to know before you build.

  • Events come in Facebook's ranking for the city, not by date, so since and until filter each page without ending the walk. The list covers about the next three months.
  • Going and interested counts are rounded from a thousand (approximate_fields lists them). end_at, description, hosts and categories aren't on the list: the Facebook Event API returns them, with exact counts, for an event's ID.
  • place.name is what the event's card shows, often a street address, and place.address is null.
  • A page can hold fewer events than limit, or none, and the list still goes on: follow page.next_cursor until it ends.
  • place.city and platform_specific.facebook.city_id name the Page whose ID you sent. For a neighborhood's or a postal code's ID that is that Page, not the event's city: the Facebook Event API returns the city for an event's ID.
  • An ID that names no Page returns not_found, and the ID of a Page that isn't a place returns an empty list.

1 credit per page. Failed requests are free.

Buy credits once and spend them on any endpoint, on any platform.

SourcePrice per successful pagePer 1,000 pages
Any source1 credit$0.75–$1.97
  • Cache hits are free.
  • Credits from packs and top-ups never expire.
  • A monthly plan's credits are spent first, and what is left of them ends at each renewal.
  • Prices exclude tax: sales tax is added at checkout where it applies.
  • Outside the US, plans and packs are sold to businesses: checkout asks for your VAT, GST or other business tax ID.

Questions about the Facebook City Events API.

More in the API reference.

How do I find a city's ID?
Search its name with the Facebook Marketplace Location Search API. It's also the number in the city's events link, the number at the end of its /pages/<name>/<id> link, and platform_specific.facebook.city_id of any of its events.
Which events does it cover?
The public events Facebook shows logged-out visitors on the city's events page: those it files under that city, in its center or not.
How much does the Facebook City Events API cost?
A page of up to 12 events costs 1 credit. Every successful page is charged, empty pages included. SocialTap credits cost $0.75–$1.97 per 1,000, depending on the plan or pack.
How do I get the next page?
Repeat the same request with cursor set to page.next_cursor from the previous response, keeping the other parameters. When page.has_more is false there are no more pages. Cursors expire after 3 hours.

Try it on a link you already have.

Paste it in the playground, or copy the request into your code.

100free credits
  • No credit card
  • Failed requests are free
  • Works on all 218 endpoints
Start for free Read the docs