- Docs
- API reference
- Job
- Search jobs.
Search jobs.
GEThttps://api.envoapi.com/v1/jobs/search
Search jobs by keyword with EnvoAPI. Filter by location, company, experience, employment type, workplace, Easy Apply, applicant count or posting time and paginate through matching jobs.
Authorizations
Section titled “Authorizations”Parameters
Section titled “Parameters”Query Parameters
Section titled “Query Parameters”Example
software engineerExample
0Filter by company. Use IDs from Company details (data.publicId), separated by commas. Jobs at any of the companies match. Find companies with Company search.
Example
company_4T4tWjExample
mid_seniorExample
relevanceExample
anyEmployment types: full_time, part_time, contract, temporary, volunteer, internship, or other. Separate types with commas.
Example
part_time,contractWorkplace types: on_site, remote, or hybrid. Separate types with commas.
Example
remote,hybridSet to true to show only Easy Apply jobs. Otherwise, omit this filter.
Example
trueSet to true to show only jobs with fewer than 10 applicants. Otherwise, omit this filter.
Example
trueResponses
Section titled “Responses”The requested data.
object
object
object
Whether the job is marked Promoted.
Whether the job offers Easy Apply.
object
object
Headers
Section titled “Headers”Required response header.
Required response header.
Required response header.
Required response header.
Required response header.
Required response header.
Required response header.
Errors
Section titled “Errors”Every error returns the same body. The status and error.code tell you what went wrong. The Errors guide covers handling and retries.
object
object
object
object
Headers
Section titled “Headers”Required response header.
Required response header.
Required response header.
| Status | error.code | Meaning |
|---|---|---|
| 400 | invalid_request | A parameter is missing or has a value we cannot use. Read error.details, fix the value and try again. |
| 401 | invalid_api_key | Your API key is missing, wrong or switched off. Check it in your dashboard. |
| 402 | insufficient_credits | Your account has no credits left. Top up, then send a new call. Also sends X-Credits-Remaining, X-RateLimit-Limit, X-RateLimit-Remaining, X-RateLimit-Reset. |
| 403 | insufficient_scope, account_suspended | Your account is suspended or cannot use this endpoint. Resolve the account or its access first. |
| 404 | resource_not_found | Nothing matched what you sent. Check it for typos. Also sends X-Credits-Remaining, X-RateLimit-Limit, X-RateLimit-Remaining, X-RateLimit-Reset. |
| 405 | method_not_allowed | The route exists, but the request used a method other than GET. Use the method shown at the top of this page. Also sends Allow. |
| 406 | not_acceptable | The Accept header asks for a format we do not send. Ask for JSON with a supported Accept value. |
| 415 | unsupported_media_type | The request declared a media type we do not accept. Remove the body or use the documented media type. |
| 429 | rate_limit_exceeded | Too many calls in a short time. Honor Retry-After; use bounded retries with backoff and jitter. Also sends X-RateLimit-Limit, X-RateLimit-Remaining, X-RateLimit-Reset, Retry-After. |
| 500 | internal_error, response_too_large | Something failed on our side. Retry only when error.retryable is true. Also sends X-Credits-Remaining, X-RateLimit-Limit, X-RateLimit-Remaining, X-RateLimit-Reset. |
| 502 | upstream_error | A data source sent back something we could not use. Retry with bounded backoff. Also sends X-Credits-Remaining, X-RateLimit-Limit, X-RateLimit-Remaining, X-RateLimit-Reset. |
| 503 | service_unavailable | Lookups are unavailable for a moment. Follow error.retryable, and Retry-After when it is present. Also sends Retry-After, X-RateLimit-Limit, X-RateLimit-Remaining, X-RateLimit-Reset, X-Credits-Remaining. |
| 504 | upstream_timeout | The lookup ran out of time. Retry with bounded backoff. Also sends X-Credits-Remaining, X-RateLimit-Limit, X-RateLimit-Remaining, X-RateLimit-Reset. |