Evaboot Search Builder API
Generate Sales Navigator search URLs from natural language
Generate Sales Navigator search URLs from natural language
Every API here is available over the APIs.io API and to AI agents over MCP.
One button, every client — Claude, Cursor, VS Code and the rest.
https://apis.io/mcp
find_apisBrowse and filter every API in the catalog.get_api_artifactsOne API's artifacts, grouped by type.get_openapiThe primary OpenAPI for this API.find_similar_apisAPIs that look like this one.apis_io_searchSTART HERE — APIs, providers and tags for one query, each with its total.resolveTurn a domain, URL or GitHub org into the provider it belongs to.find_cohortsEvery scored population of providers in the catalog.curl "https://apis.io/api/v1/apis/evaboot-com:evaboot-com-search-builder-api"
curl "https://apis.io/api/v1/apis?limit=25"
Calls without X-API-Key need no key. Calls with it need a paid plan — get a key.
Free tier, no form to fill in. Signing in shares your email address with us — we store it to create your key and to recognise you if you sign in with another provider. See our Privacy Policy and Terms.
A second provider on the same verified email joins the account you already have.
openapi: 3.2.0
info:
title: Evaboot Public Search Builder API
version: 1.1.0
description: 'Documentation for the Evaboot Public API
# Authentication
All API requests must include an **Authorization** header with Bearer
authentication:
`Authorization: Bearer xyz`
Replace `xyz` with your API key from the Evaboot dashboard, under
**Integrations → API**.'
servers:
- url: https://api.evaboot.com
description: Production Server
tags:
- name: Search Builder
description: Generate Sales Navigator search URLs from natural language
paths:
/v1/search-builder/:
post:
operationId: search_builder_create
summary: Generate a Sales Navigator search URL
parameters: []
responses:
'200':
description: OK
content:
application/json:
schema:
$ref: '#/components/schemas/SearchBuilderOut'
'400':
description: The request could not be processed.
content:
application/json:
schema:
type: object
properties:
success:
type: boolean
example: false
error:
type: object
properties:
type:
type: string
description: Machine-readable error class.
example: InsufficientCredits
message:
type: string
description: Human-readable explanation.
retry_after_seconds:
type: integer
description: 'QuotaExceeded only: seconds until the refused request fits the daily quota. Same value as the Retry-After header. Absent when the time is unknown.'
example: 5400
quota_resets_at:
type: string
format: date-time
description: 'QuotaExceeded only: when the refused request fits the daily quota, in UTC. Absent when the time is unknown.'
example: '2026-10-27T13:30:00Z'
required:
- type
- message
required:
- success
- error
'401':
description: The API key is missing, malformed or unknown.
content:
application/json:
schema:
type: object
properties:
success:
type: boolean
example: false
error:
type: object
properties:
type:
type: string
description: Machine-readable error class.
example: InsufficientCredits
message:
type: string
description: Human-readable explanation.
retry_after_seconds:
type: integer
description: 'QuotaExceeded only: seconds until the refused request fits the daily quota. Same value as the Retry-After header. Absent when the time is unknown.'
example: 5400
quota_resets_at:
type: string
format: date-time
description: 'QuotaExceeded only: when the refused request fits the daily quota, in UTC. Absent when the time is unknown.'
example: '2026-10-27T13:30:00Z'
required:
- type
- message
required:
- success
- error
'422':
description: The request body or a supplied URL failed validation.
content:
application/json:
schema:
type: object
properties:
success:
type: boolean
example: false
error:
type: object
properties:
type:
type: string
description: Machine-readable error class.
example: InsufficientCredits
message:
type: string
description: Human-readable explanation.
retry_after_seconds:
type: integer
description: 'QuotaExceeded only: seconds until the refused request fits the daily quota. Same value as the Retry-After header. Absent when the time is unknown.'
example: 5400
quota_resets_at:
type: string
format: date-time
description: 'QuotaExceeded only: when the refused request fits the daily quota, in UTC. Absent when the time is unknown.'
example: '2026-10-27T13:30:00Z'
required:
- type
- message
required:
- success
- error
'429':
description: A daily quota or rate limit is exhausted.
content:
application/json:
schema:
type: object
properties:
success:
type: boolean
example: false
error:
type: object
properties:
type:
type: string
description: Machine-readable error class.
example: InsufficientCredits
message:
type: string
description: Human-readable explanation.
retry_after_seconds:
type: integer
description: 'QuotaExceeded only: seconds until the refused request fits the daily quota. Same value as the Retry-After header. Absent when the time is unknown.'
example: 5400
quota_resets_at:
type: string
format: date-time
description: 'QuotaExceeded only: when the refused request fits the daily quota, in UTC. Absent when the time is unknown.'
example: '2026-10-27T13:30:00Z'
required:
- type
- message
required:
- success
- error
headers:
Retry-After:
description: Seconds to wait before retrying. Sent on a daily quota refusal when the time it frees up is known.
schema:
type: integer
description: 'Generate a LinkedIn Sales Navigator search URL from a natural language description.
Your description is translated into structured Sales Navigator filters (industry, seniority, company size, region, etc.) and a valid URL is returned, together with a summary of the filters that were chosen. Use it to go from a description of your ideal customer to a search you can open in Sales Navigator or hand straight to the URL extraction endpoint.
The URL is built and returned in the same request: this endpoint is synchronous and there is no job to poll.
**Costs no credits.** Limited to 100 requests per day per user.
Supported filter types: INDUSTRY, COMPANY_HEADCOUNT, COMPANY_TYPE, SENIORITY_LEVEL, FUNCTION, REGION, COMPANY_HEADQUARTERS, CURRENT_TITLE, CURRENT_COMPANY, YEARS_AT_CURRENT_COMPANY, YEARS_IN_CURRENT_POSITION, ANNUAL_REVENUE.'
tags:
- Search Builder
requestBody:
content:
application/json:
schema:
$ref: '#/components/schemas/SearchBuilderIn'
required: true
security:
- PublicBearer: []
components:
schemas:
SearchBuilderOut:
properties:
success:
default: true
description: Always `true` on a successful response. Failed requests return an error object instead.
examples:
- true
title: Success
type: boolean
url:
description: The generated Sales Navigator search URL. Open it in Sales Navigator to review the results, or send it to the URL extraction endpoint to extract the leads it matches.
examples:
- https://www.linkedin.com/sales/search/people?query=(filters%3AList((type%3ASENIORITY_LEVEL%2Cvalues%3AList((id%3A310%2Ctext%3ACXO%2CselectionType%3AINCLUDED)))))
title: Url
type: string
filters_used:
additionalProperties: true
description: Summary of the filters that were applied, so you can check the description was understood before running an extraction. Keyed by filter type, each value a list of the labels Sales Navigator shows; excluded values are prefixed with `NOT `, `ANNUAL_REVENUE` reads as a range such as `10M-50M USD`, and a `keywords` key appears when free-text keywords were used.
examples:
- COMPANY_HEADCOUNT:
- 51-200
INDUSTRY:
- Software Development
REGION:
- United States
SENIORITY_LEVEL:
- CXO
title: Filters Used
type: object
required:
- url
- filters_used
title: SearchBuilderOut
type: object
SearchBuilderIn:
properties:
description:
description: Plain-language description of the leads or accounts you want to find. Mention everything that matters (job titles, seniority, industry, company size, location, revenue) and it is mapped onto the matching Sales Navigator filters. Between 10 and 2000 characters.
examples:
- CTOs and VPs of Engineering at SaaS companies in the US with 50-200 employees
maxLength: 2000
minLength: 10
title: Description
type: string
search_type:
default: LEAD
description: 'Which Sales Navigator search to build: `"LEAD"` for a people search, `"ACCOUNT"` for a company search.'
enum:
- LEAD
- ACCOUNT
examples:
- LEAD
title: Search Type
type: string
required:
- description
title: SearchBuilderIn
type: object
securitySchemes:
PublicBearer:
type: http
scheme: bearer