Skip to main content

How Searches Are Saved

Every search you create in Recruitier is automatically saved to your account. There is no manual “save” step — the moment you complete the search wizard and the search begins processing, it appears in your saved searches list. This means you never lose a search and can always return to previous results. Saved searches serve as your search history and your active monitoring dashboard. Each search retains all its original criteria, results, and any actions you have taken on those results (tags, notes, favorites).
The search entity stores all your criteria persistently: job title, description, extra keywords, confirmed and excluded skills, experience level, job type, flexibility, recency filter, location with coordinates and radius, search source, boolean type (AND/OR), AI search flag, monitoring status, and linked candidate ID. Nothing is lost between sessions.

The Saved Searches List

Navigate to the Search page to see all your saved searches displayed as cards in a list. The most recently created search appears at the top by default.

Search Card Information

Each search card shows:
FieldDescription
Search NameThe job title you entered when creating the search. Cloned searches are prefixed with “[Cloned].”
StatusThe current processing state: “Searching,” “Classifying,” or “Done.”
Job CountThe number of active (non-deleted) jobs in this search.
New JobsA badge showing how many new jobs have been found since you last viewed the search (for monitored searches).
Creation DateWhen the search was originally created.
SourceWhether the search was created via the recommendation engine, LinkedIn, Indeed, or another source.
FavoritedA star icon indicating whether you have favorited this search for quick access.
Cloned ByIf this search was cloned by a teammate, their name and email are shown.
Favorite your most important searches by clicking the star icon on the search card. This makes them easy to identify in a long list of searches. Favoriting is purely organizational — it does not change how the search behaves or is monitored.

Monitored Search Indicators

Searches that are being monitored for new matches display additional information:
  • A monitoring badge indicating the search is actively being tracked
  • A new jobs count (new_jobs_count) showing how many new listings have matched since your last visit
  • A last matched timestamp showing when the most recent match was found
When you open a monitored search, the new jobs count resets to zero and any “New” badges on individual jobs are cleared, indicating that you have reviewed the new additions.
The monitoring system is powered by background workers that periodically re-evaluate your search criteria against newly indexed jobs. When new matches are found, real-time notifications are delivered via Server-Sent Events (SSE), so you see the new job count update without refreshing the page.

Managing Your Searches

Viewing Search Results

Click on any search card to open the full search detail page with all results. From there, you can:
  • Browse and sort the results table
  • Apply additional filters within the results
  • Save individual jobs to your collection
  • Tag, favorite, or delete jobs
  • View job details and contact information
  • Initiate outreach flows
Monitored searches are automatically re-run when new jobs enter the database. The system continuously checks for new listings that match your saved search criteria and adds them to your results. You do not need to manually re-run a search — Recruitier handles this in the background.
The monitoring system checks for new matches periodically. New jobs typically appear in your search results within hours of being scraped from company career pages. You receive a real-time notification when new matches are found.

Toggling Monitoring

You can enable or disable monitoring on any search:
  • Enable monitoring — Sets is_monitored = true on the search entity. The search will be included in the periodic new-job matching cycle.
  • Disable monitoring — Sets is_monitored = false. The search retains all its existing results but stops checking for new matches.
Enable monitoring on your most important, well-targeted searches. Monitoring broad searches (e.g., just “Developer” with no filters) can generate a high volume of new matches that become difficult to review. Targeted searches with specific skills and filters produce a more manageable stream of new jobs.

Favoriting Searches

Toggle the favorite status of a search by clicking the star icon on the search card. Favorited searches are visually distinct, making them easy to spot in a long list. Favoriting does not change the search behavior — it is purely an organizational tool.

Deleting Searches

To delete a search you no longer need:
  1. Open the search card or detail page
  2. Click the Delete button (trash icon)
  3. Confirm the deletion
Deleting a search also removes all jobs associated with that search. This is a soft delete — the data is marked as deleted but not permanently erased. However, you cannot undo this action from the UI. If you are unsure, consider simply un-favoriting the search instead of deleting it. If you want to keep specific jobs, tag or favorite them first so you can find them through other searches.

Pagination

If you have many saved searches, the list is paginated. Use the pagination controls at the bottom of the list to navigate between pages. The default page size shows enough searches to fill the screen, with older searches accessible on subsequent pages.

Search States

Each search goes through several states during its lifecycle:
StateDescription
Searching JobsThe recommendation engine is scanning the database for matching listings. Vector embeddings are being compared and keyword matching is running.
Classifying JobsThe AI is evaluating each result and assigning match types (excellent, good, poor) based on keyword coverage analysis.
Retrieving Company InfoCompany details are being enriched and linked to the search results. Contact information is being aggregated.
DoneProcessing is complete. All results are available for review.
The current state is visible on the search card and updates in real time via SSE notifications. You can open a search while it is still processing, but the results may be incomplete until the state reaches “Done.”
Most searches complete within 10 to 60 seconds. If a search remains in a processing state for more than a few minutes, try refreshing the page. If the issue persists, contact support.

Cloned Searches

Searches that were cloned (either by you or by a teammate) are marked with a “[Cloned]” prefix in their name and display the original search creator’s information. Cloned searches function identically to original searches — they have their own results, tags, and monitoring. The cloned search stores references to the original_search_id and cloned_by_user_id for traceability. For more information on cloning, see Cloning a Search.

Organization Tips

As you create more searches over time, keeping your search list organized becomes important:
  • Favorite active searches so they stand out visually
  • Delete completed searches where you have already saved all relevant jobs
  • Use descriptive job titles when creating searches — these become the search name
  • Review new job counts regularly to stay on top of freshly matched opportunities
  • Clone and iterate rather than deleting and recreating when you want to adjust criteria
  • Disable monitoring on searches you are no longer actively working on to reduce notification noise

Advanced

Search Entity Data Model

Each saved search is stored as a search entity with the following key fields:
FieldTypePurpose
nameStringThe search name (job title entered in wizard)
descriptionStringOptional description or notes about the search
extra_keywordsStringAdditional keywords beyond the title
experience_levelJSONB ArraySelected experience levels (multi-select)
job_typeJSONB ArraySelected job types (multi-select)
flexibilityJSONB ArraySelected flexibility options (multi-select)
whenJSONB ArrayRecency filter selection
locationStringLocation name for display
lat / lonFloatGeocoded coordinates for radius filtering
radius_kmIntegerSearch radius in kilometers
sourceEnumLINKEDIN, INDEED, or RECOMMENDATION
typeEnumAND or OR boolean logic
pagesIntegerNumber of result pages to fetch
stateEnumCurrent processing state
ai_searchBooleanWhether AI-enhanced features are enabled
is_monitoredBooleanWhether the search watches for new jobs
new_jobs_countIntegerCount of unreviewed new matches
candidate_idUUIDOptional linked candidate for CV-based matching

How Monitoring Works Under the Hood

The monitoring pipeline operates as follows:
  1. A background worker periodically scans all searches where is_monitored = true
  2. For each monitored search, it re-runs the search criteria against the pool of recently indexed jobs (jobs added since the last monitoring cycle)
  3. New matches are identified by comparing against the existing result set for that search
  4. Newly matched jobs are added to the search’s result set with the “New” flag
  5. The search entity’s new_jobs_count is incremented by the number of new matches
  6. A real-time SSE notification is published to the user’s active session, triggering a UI update without page refresh

How Search Connects to Candidate Matching

When a search has a candidate_id, it establishes a connection between the search and a specific candidate profile. This enables:
  • CV-based matching: The search criteria can be derived from the candidate’s resume and skills profile
  • Candidate-job presentation: Results can be presented in the context of the candidate’s profile, highlighting matches and gaps
  • Match tracking: The relationship between the search and candidate enables the candidate-job matching workflow where you track which jobs are presented to which candidates

Power-User Tips

When you have multiple searches in progress, use the state indicators to prioritize: searches in “Done” state are ready for immediate review, while “Searching” or “Classifying” searches can be checked later. Do not wait for all searches to complete before starting your review — begin with the first one that finishes.
Create separate monitored searches for different market segments: one for “Frontend Developer” in Amsterdam, one for “Backend Engineer” in Rotterdam, one for “DevOps Engineer” remote. Each monitor operates independently, giving you targeted alerts for each segment. This is more effective than a single broad search.
The new_jobs_count on monitored searches is a useful proxy for market activity. If a monitored search for “Data Engineer” consistently finds 5-10 new jobs per week, the market is active. If it finds 0-1, the market is cold. Use this intelligence to advise candidates on timing and set realistic expectations.