Event Discovery Feed
Pricing
from $2.10 / 1,000 event founds
Event Discovery Feed
Deduped B2B event feed from Luma, Meetup, conferences & iCal — venue, tickets, organizers, speakers/sponsors/exhibitors, ICP score & change tracking.
Pricing
from $2.10 / 1,000 event founds
Rating
0.0
(0)
Developer
Rational Opaque
Maintained by CommunityActor stats
0
Bookmarked
2
Total users
1
Monthly active users
9 days ago
Last modified
Categories
Security
Limited permissionsShare
One clean feed of public B2B events — deduped, change-tracked, ICP-ranked.
Pulls from Luma, Meetup, conference pages, iCal, confs.tech, and dev.events. Every row is a full event: dates, venue, ticket, organizers, plus public speakers / sponsors / exhibitors when listed.
Built for event GTM, field marketing, ABM, sponsorship sales, DevRel, VC platform, and community teams.
Pay-per-event only (no rental). Example: 200 found + 100 enriched + 200 LLM-scored ≈ $1.40 (+ actor start).
Who it's for
| Who | What they run |
|---|---|
| Event GTM / field marketing | City + keyword feed for this quarter’s rooms |
| Sponsorship sellers | Speaker / sponsor / exhibitor lists for outreach |
| DevRel & community | Meetup + conference watch with onlyChanges |
| ABM / sales | Events near target accounts, ICP-scored |
| Organizer research | Multi-source calendar → one deduped row |
What you get
| Capability | Detail |
|---|---|
| Multi-source | Luma, Meetup, conference URLs, iCal, confs.tech, dev.events |
| Full row | Never a link-only stub — venue, ticket, organizers always when public |
| Lead-gen fields | Public organizer website / socials, plus guest count and capacity |
| Dedupe | Same event across sources → one row + alsoSeenOn |
| Change tracking | isNew / changeType vs a saved stateKey |
| ICP filter | Optional relevanceScore + minRelevanceScore cutoff |
| Enrichment | Public speakers / sponsors / exhibitors (capped per run) |
Public logged-out pages only. No login, no CAPTCHA bypass, no attendee lists.
Quick start
AI / SaaS events near San Francisco (next 90 days):
{"sources": ["luma", "meetup", "industry"],"keywords": ["AI", "SaaS"],"locations": ["San Francisco"],"industrySites": ["confs_tech", "dev_events"],"includeOnline": true,"extractSpeakers": true,"enrichMaxPerRun": 100,"maxEvents": 200}
Weekly conference watch (only new/changed):
{"sources": ["conference"],"conferenceUrls": ["https://example.com/events"],"icsFeeds": ["https://example.com/events.ics"],"onlyChanges": true,"stateKey": "conference-watch","extractSpeakers": true}
Main inputs
| Field | Required | Notes |
|---|---|---|
sources | yes | luma · meetup · conference · industry |
keywords | no | Topic filters |
locations | no | City / country; empty = global |
startDateFrom / startDateTo | no | Default: today → +90 days |
lumaCalendarUrls / meetupGroupUrls / conferenceUrls / icsFeeds | no | Pin specific feeds |
industrySites | no | confs_tech · dev_events (Eventbrite / AllEvents / 10times disabled until ToS clear) |
extractSpeakers | no | Default on — speakers/sponsors/exhibitors |
enrichMaxPerRun | no | Cap enrichment cost (default 100) |
relevanceProfile | no | ICP text → 0–100 score |
minRelevanceScore | no | Drop weak fits (default 60 when scoring) |
onlyChanges / stateKey | no | Scheduled “what’s new” feeds |
maxEvents | no | Hard output + cost cap |
Sample output
{"eventId": "4f1c0b8e0c1a4d6e8f9012345678abcd90ef1234","source": "luma","sourceId": "evt_example","sourceUrl": "https://luma.com/wuoe9ul2","alsoSeenOn": [{ "source": "meetup", "url": "https://www.meetup.com/example/events/1/" }],"name": "SEV0 - The reliability conference (SF)","startDate": "2026-10-27T09:00:00.000-07:00","endDate": "2026-10-27T19:30:00.000-07:00","timezone": "America/Los_Angeles","format": "in_person","venue": {"name": "SFJAZZ","address": "201 Franklin St","city": "San Francisco","country": "United States","countryCode": "US"},"city": "San Francisco","country": "United States","topics": ["Tech"],"eventType": "conference","organizers": [{"name": "incident.io US","role": "organizer","url": "https://luma.com/incident","website": "https://incident.io/","twitter": "https://x.com/incident_io","linkedin": "https://www.linkedin.com/company/incident-io","youtube": "https://www.youtube.com/@incident-io"}],"sponsors": [],"exhibitors": [],"speakers": [],"guestCount": 74,"ticketsSold": 74,"capacity": 75,"isNearCapacity": true,"ticket": {"url": "https://luma.com/wuoe9ul2","isFree": false,"priceMin": 199,"priceMax": 199,"currency": "USD","status": "available"},"relevanceScore": 72,"relevanceReason": "Lexical overlap with ICP terms: reliability, conference","isNew": true,"changeType": "new","firstSeenAt": "2026-10-27T08:00:00.000Z","scrapedAt": "2026-10-27T08:00:00.000Z"}
Empty speakers / sponsors / exhibitors means the public page did not list them — Meetup and many Luma pages often have none. The actor never invents names.
Organizer website, instagram, twitter, linkedin, tiktok, and youtube are set only when that page already publishes the link. Missing handles are omitted. guestCount, ticketsSold, capacity, and isNearCapacity are the same: public numbers only, never an RSVP list. Luma includes them on the listing. Meetup group socials are read during enrichment, on the existing event-enriched charge.
Sources
| Source | Reads | Rate |
|---|---|---|
| Luma | Public city/calendar pages (__NEXT_DATA__, JSON-LD) | ≤20/min |
| Meetup | Public find/group/event (JSON-LD); RSVP lists ignored | ≤15/min |
| Conference | JSON-LD, iCal, sitemap, or CSS selector map | ≤10/min/domain |
| iCal | Public .ics | — |
| confs.tech | Public GitHub JSON | Enabled |
| dev.events | Public JSON-LD | Enabled |
| Eventbrite / AllEvents / 10times | — | Disabled until ToS/robots allow (docs/sources.md) |
Change tracking
State lives in KV store event-discovery-state under your stateKey.
changeType: new · updated · date_changed · venue_changed · cancelled · unchanged.
Schedule tip: daily/weekly Apify Schedule with onlyChanges: true + fixed stateKey + webhook to Slack/CRM.
Pricing (PPE)
| Event | Price | When |
|---|---|---|
event-found | $0.003 | Each event pushed |
event-enriched | $0.004 | Speaker/sponsor/exhibitor detail fetch succeeded |
event-relevance-scored | $0.002 | LLM score written |
change-detected | $0.002 | New/changed row while onlyChanges is on |
apify-actor-start | platform default | Actor start |
Worked example: 200 found + 100 enriched + 200 LLM scores = $1.40 (+ start). Later onlyChanges run with 30 changes ≈ $0.15 before optional enrich/score.
ICP without LLM_API_KEY: lexical overlap score only (no event-relevance-scored charge). With key: model score via LLM_MODEL / LLM_BASE_URL.
Limitations
- Public logged-out pages only — no private calendars, RSVPs, or checkout walls
- City discover pages return one public page per URL; pin calendars/groups for a series
- LinkedIn is not fetched. A LinkedIn URL is kept only when the event page already publishes it on the organizer
- Default run memory is 1024 MB
- Eventbrite / AllEvents / 10times adapters are registered but disabled
- Lexical ICP ≠ model judgment unless you set an API key
FAQ
Why is a known event missing? Outside the date window, failed keyword/city filter, under minRelevanceScore, or over maxEvents.
Can I run only iCal? sources is required — pick any source and set icsFeeds; feeds always run when set.
Does it scrape LinkedIn? No. It does not open LinkedIn. If Luma or Meetup already prints an organizer LinkedIn URL, that URL is copied onto the organizer.
How is this different from a Luma-only or Eventbrite-only scraper? Those return one site. This merges Luma, Meetup, conference pages, iCal, confs.tech, and dev.events, dedupes, scores to your ICP, and tracks new/changed rows on a schedule.
Legal
Collects only publicly available, logged-out event information. Does not bypass logins, CAPTCHAs, or paywalls, and does not collect attendee lists. Speaker, organizer, sponsor, and exhibitor names are those publicly listed by organizers. Users are responsible for complying with each source’s Terms and applicable data protection law (GDPR/DPDP) when using personal data. Not affiliated with Luma, Meetup, or any listed site.