Event Finder - AI-powered tech conference discovery
Pricing
Pay per usage
Event Finder - AI-powered tech conference discovery
Fetch tech conferences and open CFPs from developers.events, filter them using a plain-English query via AI, and get a clean ranked list. No scraping needed.
Pricing
Pay per usage
Rating
0.0
(0)
Developer
Kevin Lewis
Maintained by CommunityActor stats
0
Bookmarked
2
Total users
1
Monthly active users
3 days ago
Last modified
Categories
Share
Event Finder — AI-powered tech conference discovery
Find tech conferences and open Calls for Proposals using plain English. Describe what you're looking for, and an AI model (via OpenRouter) filters and ranks the results from the community-maintained developers.events dataset.
No web scraping required. The data source is a free public JSON API.
Why use Event Finder?
- Save time searching — Describe what you want in natural language instead of filtering through spreadsheets
- Discover CFPs — Find open calls for proposals matching your talk topics
- AI-ranked results — AI scores each event's relevance so you see the best matches first
- Pre-filter by date/country — Reduce AI token usage and cost by narrowing the dataset before AI processes it
How inputs work together
The Actor processes inputs in two stages:
Stage 1: Hard pre-filters (always runs, no AI needed)
These reduce the dataset before any AI call. They are exact, cheap, and happen first.
| Field | What it does |
|---|---|
type | Picks which dataset to fetch: events or cfps. Events are conferences; CFPs are conferences actively seeking speaker submissions with a deadline |
dateFrom / dateTo | Events: filters by event start date. CFPs: filters by submission deadline. Both dates inclusive. Default dateFrom is today so past items are excluded |
location | A country name or a region. See below for how each is handled |
Stage 2: AI filter (only if query is provided)
The query field is a plain English description of what you want. The pre-filtered list plus your query are sent to OpenRouter, which scores every event 1-10 on relevance, keeps items scoring 5+, and ranks the rest.
maxResults caps the final output (top N by score). Defaults to 10.
Dataset ──> Stage 1: hard pre-filters ──> Stage 2: AI scores ──> Top N results(events or CFPs) (type, date, location) (query + maxResults)
If query is empty, Stage 2 is skipped entirely. You get all matching events sorted by date up to maxResults.
Location
The location field handles three types of values:
1. Specific country — Does an exact country match in the pre-filter. Common aliases are resolved automatically:
| You type | Matches events in |
|---|---|
Germany | Germany |
USA, US, United States, America | USA |
UK, United Kingdom, GB, England | UK |
UAE | United Arab Emirates |
Czech Republic | Czechia |
Korea, South Korea | South Korea |
Holland | Netherlands |
2. Region — Expands to a list of countries in the pre-filter. All matching countries are included before AI sees anything:
| Region | Countries included |
|---|---|
Europe | Albania through UK + Wales (~40 countries) |
DACH | Germany, Austria, Switzerland |
EMEA | Europe + Middle East + Africa |
APAC | East Asia + South Asia + Southeast Asia + Oceania |
Asia | All Asian countries |
North America | Canada, Mexico, USA |
South America | All South American countries |
Middle East | Bahrain through Yemen |
Africa | All African countries |
Oceania | Australia through Vanuatu |
Scandinavia / Nordics | Denmark, Finland, Iceland, Norway, Sweden |
For the full list of supported regions and their country mappings, see src/location.ts.
3. Blank — No location filter. Events from all countries are included.
Combinations
| Scenario | What happens |
|---|---|
type: events + query: "AI conferences" | AI sees all events regardless of date/location and picks relevant ones |
type: events + query: "AI conferences" + location: Germany + dateFrom: 2026-06-01 | Pre-filter: only German events starting June 2026. AI scores those. |
type: events + query: "AI conferences" + location: Europe | Pre-filter: all European countries. AI scores against your query. |
type: events + query: "" + location: Japan | Dump mode: all events in Japan sorted by start date (no AI cost) |
type: cfps + query: "Rust or Go topics" + location: DACH | CFPs from Germany, Austria, Switzerland with Rust/Go relevance |
type: cfps + query: "cloud" + location: EMEA | CFPs from Europe, Middle East, Africa |
type: cfps + dateFrom: 2026-06-01 + dateTo: 2026-07-01 | CFPs with submission deadlines in June 2026 |
dateFrom: none (blank) | Defaults to today. Past events/expired deadlines excluded automatically |
Input fields
| Field | Type | Required | Description |
|---|---|---|---|
query | string | optional | Plain English description. Leave empty for dump mode (sorted by date, no AI cost) |
type | select | optional | events or cfps (default: events) |
dateFrom | date | optional | Events: earliest start date. CFPs: earliest submission deadline. Blank defaults to today |
dateTo | date | optional | Events: latest start date. CFPs: latest submission deadline. Blank = no upper bound |
location | string | optional | Country name (with alias resolution) or region (expanded to country list). Blank = all countries |
maxResults | number | optional | Max results to return (default: 10, max: 100) |
openrouterApiKey | secret | optional | Your OpenRouter API key (or set OPENROUTER_API_KEY env var) |
How to use Event Finder
- Open the Actor's Input tab in the Apify Console
- Enter a plain English query or leave blank for dump mode
- Optionally set date range, location, and type
- Click Run and wait for results
- Download the dataset as JSON, CSV, HTML, or Excel
Output
Each result is a JSON record in the dataset:
{"name": "React Summit","type": "event","date": { "start": "2026-06-12", "end": "2026-06-14" },"location": { "city": "Amsterdam", "country": "Netherlands" },"tags": ["react", "frontend", "javascript"],"url": "https://reactsummit.com","cfpDeadline": "2026-03-01","cfpUrl": "https://sessionize.com/react-summit-2026","relevanceScore": 8,"reason": "Frontend conference with React focus matches the query for JavaScript/React events."}
You can download the dataset in JSON, HTML, CSV, or Excel format.
Data fields
| Field | Description |
|---|---|
name | Event name |
type | event or cfp |
date | Object with start and end ISO dates |
location | Object with city and country |
tags | Array of topic tags |
url | Event website |
cfpDeadline | CFP submission deadline (ISO date or null) |
cfpUrl | CFP submission link (or null) |
relevanceScore | AI relevance score (1-10) |
reason | One-sentence explanation of why this matched |
Cost estimation
Each run costs approximately $0.002–0.01 using a cheap model like deepseek/deepseek-v4-flash on OpenRouter. Model choice is the main cost driver — cheaper models (DeepSeek, Llama via OpenRouter) keep costs near zero. Hard pre-filters (date, country) reduce the AI payload so you pay for fewer tokens.
Tips
- Use pre-filters to cut cost —
dateFrom/dateToandlocationrun before AI and are the cheapest way to narrow results. A tight pre-filter means fewer items sent to OpenRouter. - Regions are pre-filtered too —
Europe,DACH,EMEA, etc. expand to country lists and filter before AI, so they reduce cost the same way a single country does. - No-query mode is free — Leave
queryblank for dump mode. No AI call means zero API cost. - Set OPENROUTER_API_KEY as environment variable — Store your API key in the Actor's environment variables instead of passing it with every run.
- Cheap model by default — Uses
deepseek/deepseek-v4-flashon OpenRouter. Override withOPENROUTER_MODELenv var for a different model. - CFP hunting — Set
typetocfpsand usedateFrom/dateToto narrow by submission deadline. A tight window like the next 30 days shows what you should apply to now. - Date means different things — For events,
dateFrom/dateTofilters by event start date. For CFPs, it filters by submission deadline. The outputdatefield always shows the event date;cfpDeadlineshows when submissions close.
FAQ, disclaimers, and support
Q: Do I need an OpenRouter API key? Yes, for AI filtering. Get one at openrouter.ai/keys. Without it, you can still use the no-query dump mode.
Q: Is web scraping involved? No. All data comes from the public JSON API at developers.events. No proxy or browser automation needed.
Q: Where does the data come from? The developers.events community-maintained dataset. Events are added and updated by the community.
Q: How accurate is the AI filtering? The AI model evaluates each event against your query contextually. It handles misspellings, related terms, and implicit preferences well, but always verify results before making decisions.
For issues or feature requests, use the Issues tab. Need custom event sourcing or scheduled digests? Contact the author.