Skip to main content
Every search answers the same question: which companies, or people, meet all of these requirements? You can state the requirements in three ways. Send query on its own, or send filters and criteria together. A request with query plus filters or criteria is rejected with 400 invalid_request.

Plain language

Avina turns the sentence into structured filters and free-text criteria, then runs the search. (An SDR is a sales development representative: a salesperson who finds and qualifies new prospects.) The search’s interpretation field shows exactly how the sentence was read:
Interpretation follows three rules:
  • Nothing is dropped. Every requirement in your sentence becomes a filter or a criterion. A requirement is never relaxed to return more results.
  • Ambiguity is reported, not hidden. When a phrase has more than one reasonable reading, Avina picks the likeliest and lists it under assumptions, with the alternatives. The search still runs. Reword the query if the reading is wrong.
  • Requirements that cannot be checked stop the search. Things no public source can confirm, such as “visited our pricing page” or “has a great culture”, are listed under unsupported_criteria. The search ends with stop_reason: query_needs_clarification before any provider is called, and nothing is charged.
For example, “recently” has no fixed meaning, so a query for “recently funded fintech companies in New York” reports how it was read:
To see how a query will be read before spending anything, send it to Parse. It returns the same interpretation and a ready-to-send structured request.

Structured filters

Filters are exact conditions on named fields. Use them when you know precisely what you want and need the request to mean the same thing every time.
A company must meet every condition in all. Conditions cover company facts (industry, location, employee count, revenue, company type, founding year), funding (total raised, last round, how recent), technologies in use, and two kinds of activity: open jobs and recent hires. The filter reference lists every field, operator and value format.

Free-text criteria

Criteria cover what no field can express. Each one is a statement that must be true of a match, and each is checked separately against evidence.
A plain string is treated as an event. A search takes at most 10 criteria.
Write each criterion as one statement that can be checked. “B2B SaaS company that sells to hospitals and recently raised funding” is three requirements: an industry filter, an attribute criterion and a funding filter. Splitting them gives clearer evidence for each.

How they combine

All requirements are combined with AND. A company is returned only when it matches every filter condition and every criterion. There is no relevance score that lets a strong match on one requirement make up for failing another. To express OR on one field, put the alternatives in a single in list:

Choosing between them

Send their text as query. Show assumptions next to the results so users can correct a wrong reading. Or call Parse first and render the filters as editable chips.
Let the agent send query. Have it read interpretation and assumptions from the status response and reword if the reading is off.
Send filters and criteria. A structured request is interpreted the same way every time. Use Parse once to draft it, then store and edit the result.
Keep the structured parts as filters and add the rest as criteria.

Next steps

Filter reference

Every field, operator and value format.

Evidence and verdicts

How each requirement is checked and reported.