Skip to main content
Required scopes: agency_roles:read
Rate limit: default tier, 120 requests per minute per key
Searches the active-role marketplace using typo-tolerant matching and recruiter visibility rules. Requires an agency key with agency_roles:read, external API access enabled for the agency, and the email of a currently approved member of that agency. Unlike listAgencyRoles, results are not restricted to roles the member is already approved on. Filters combine with AND; repeat array parameters to match any of up to 20 values within a filter. Location, workplace, role type, industry, and tech stack use the platform’s filter keys. Unknown parameters and invalid filter values are rejected. Salary bounds are annual whole currency units, compared in 1,000-unit increments without currency conversion. Text searches are relevance-ordered. Without query, roles are ordered by marketplace priority, with role ID as the tie-breaker. Hidden or experimental roles unavailable to the member, deleted roles, roles not accepting recruiters, and roles whose manager is not reviewing are excluded. Returns at most 20 roles by default and 50 at maximum. Pass nextCursor back as cursor with the same recruiter and filters. Ranked role IDs are cached for up to 30 seconds. Membership, structured filters, and visibility are checked on every page. Pages can be shorter or empty when roles become unavailable; continue while nextCursor is present. Results are not a frozen snapshot; cache refreshes can shift page boundaries. Stop when nextCursor is null. Returns the restricted agency role summary only, never recruiter fees, rewards, candidate details, or pipeline counts. Use getAgencyRole for a full permitted role brief. Appearing in search does not grant a recruiting slot or submission permission.

Query parameters

string
required
Email of a currently approved member of the authenticated agency. Selects that member’s permissions; it does not authenticate the person holding the key. Constraints: format email, max length 254.
string
Browse’s typo-tolerant role and company search. Omit to browse active roles without a text filter. Constraints: min length 1, max length 200.
string | string[]
Repeat for multiple normalized location keys; values within this filter match any.
string | string[]
Allowed values: REMOTE, ON_SITE, HYBRID.
string | string[]
string | string[]
Industry key (for example, fintech or healthcare), or a namespaced practice area (for example, law::litigation). Repeat for multiple values.
string | string[]
string | number
Annual candidate base salary in whole currency units, matched to the nearest 1,000 without currency conversion.
string | number
string | number
string | number
string | number
default:"20"
string
Opaque continuation token. Reuse only with the same agency, recruiter, query, and filters. Results are live, not a frozen snapshot. Constraints: min length 1, max length 2048.

Response

object[]
required
string | null
required