Creating Your First Search
The process starts when you create a Webset. Here’s how it flows:
1. Initial Request
Start by providing a search configuration:
{ "search": { "query": "AI companies in Europe that raised Series A funding", "count": 50 } }
You can optionally specify:
- An
entity.typeto define what you’re looking for - Custom
criteriafor verification enrichmentsto extract specific data pointsmetadatafor your own tracking
2. Webset Creation
When your request is received:
- A new Webset is created with status
running - A
webset.createdevent is emitted - The search process begins automatically
3. Search Process
The search flows through several stages:
- Initialization - A new WebsetSearch is created
- Status is set to
running webset.search.createdevent is emitted
- Status is set to
- Discovery & Verification - The system starts retrieving results leveraging Exa Search and verifies each one
- Items that pass verification and match your search criteria are automatically added to your Webset
- Each new item triggers a
webset.item.createdevent - Items are immediately available through the list endpoint
- Enrichment (if configured) - Each item is processed through specified enrichments
webset.item.enrichedevents are emitted as results come in- Enrichment results are added to the item’s data
- Completion - When the search finds all items, its status changes to
completed- A
webset.search.completedevent is emitted - If no other operations are running, you’ll receive a
webset.idleevent
- A
Accessing Results
You can access your data throughout the process:
- Real-time Access - Use the list endpoint to paginate through items
- Listen for item events (
webset.item.createdandwebset.item.enriched) to process results as they arrive
- Listen for item events (
- Bulk Export - Available once the Webset becomes
idle- Includes all items with their content, verifications and enrichments
- Useful for processing the complete dataset
Running Additional Searches
You can create additional searches on the same Webset at any time. Each new search:
- Follows the same event flow as the initial search
- Can run in parallel with other enrichment operations (not other searches for now)
- Maintains its own progress tracking
- Contributes to the overall Webset state
Control Operations
Manage your searches with:
Up-to-date Websets using Monitors
Monitors allow you to automatically keep your Websets updated with fresh data on a schedule, creating a continuous flow of updates without manual intervention.
Behavior
- Search behavior: Automatically run new searches to find fresh content matching your criteria. New items are added to your Webset with automatic deduplication.
- Refresh behavior: Update existing items by refreshing their content from source URLs or re-running specific enrichments to capture data changes.
Scheduling
Set your update frequency with:
- Cron Expression: A valid Unix cron expression with 5 fields that triggers at most once per day
- Timezone: Any IANA timezone (defaults to
Etc/UTC)
Example: Weekly Monitor for Series A Funded Companies
{ "websetId": "ws_abc123", "cadence": { "cron": "0 9 * * 1", "timezone": "America/New_York" }, "behavior": { "type": "search", "config": { "parameters": { "query": "AI startups that raised Series A funding in the last week", "count": 10, "criteria": [ { "description": "Company is an AI startup" }, { "description": "Company has raised Series A funding in the last week" } ], "entity": { "type": "company" }, "behavior": "append" } } } }