Skip to main content
POST
Apply to a job

Authorizations

x-api-key
string
header
required

Your Skyvern API key from https://app.skyvern.com/settings.

Body

job_url
string<uri>
required
custom_prompt
string
required
resume_url
string<uri>
required
webhook_url
string<uri>

After a run is finished, send an update to this URL. Refer to https://www.skyvern.com/docs/running-tasks/webhooks-faq for more details.

Example:

"https://my-site.com/webhook"

proxy_location

Geographic Proxy location to route the browser traffic through. This is only available in Skyvern Cloud.

Available geotargeting options:

  • RESIDENTIAL: the default value. Skyvern Cloud uses a random US residential proxy.
  • RESIDENTIAL_ES: Spain
  • RESIDENTIAL_IE: Ireland
  • RESIDENTIAL_GB: United Kingdom
  • RESIDENTIAL_IN: India
  • RESIDENTIAL_JP: Japan
  • RESIDENTIAL_FR: France
  • RESIDENTIAL_DE: Germany
  • RESIDENTIAL_NZ: New Zealand
  • RESIDENTIAL_PH: Philippines
  • RESIDENTIAL_KR: South Korea
  • RESIDENTIAL_SA: Saudi Arabia
  • RESIDENTIAL_ZA: South Africa
  • RESIDENTIAL_AR: Argentina
  • RESIDENTIAL_AU: Australia
  • RESIDENTIAL_BR: Brazil
  • RESIDENTIAL_TR: Turkey
  • RESIDENTIAL_CA: Canada
  • RESIDENTIAL_MX: Mexico
  • RESIDENTIAL_IT: Italy
  • RESIDENTIAL_NL: Netherlands
  • RESIDENTIAL_ISP: ISP proxy
  • US-CA: California (deprecated, routes through RESIDENTIAL_ISP)
  • US-NY: New York (deprecated, routes through RESIDENTIAL_ISP)
  • US-TX: Texas (deprecated, routes through RESIDENTIAL_ISP)
  • US-FL: Florida (deprecated, routes through RESIDENTIAL_ISP)
  • US-WA: Washington (deprecated, routes through RESIDENTIAL_ISP)
  • NONE: No proxy

For self-hosted deployments, you can pass a custom proxy URL as a dict: {"url": "http://user:password@proxy.example.com:8080"} [blocked]. This routes the browser through your own proxy server and takes precedence over any globally configured proxy pool. Can also be a GeoTarget object for granular city/state targeting: {"country": "US", "subdivision": "CA", "city": "San Francisco"}. Omit it or send null to use the default; Skyvern Cloud then uses RESIDENTIAL.

Available options:
RESIDENTIAL,
US-CA,
US-NY,
US-TX,
US-FL,
US-WA,
RESIDENTIAL_ES,
RESIDENTIAL_IE,
RESIDENTIAL_GB,
RESIDENTIAL_IN,
RESIDENTIAL_JP,
RESIDENTIAL_FR,
RESIDENTIAL_DE,
RESIDENTIAL_NZ,
RESIDENTIAL_ZA,
RESIDENTIAL_AR,
RESIDENTIAL_AU,
RESIDENTIAL_BR,
RESIDENTIAL_TR,
RESIDENTIAL_CA,
RESIDENTIAL_MX,
RESIDENTIAL_IT,
RESIDENTIAL_NL,
RESIDENTIAL_PH,
RESIDENTIAL_KR,
RESIDENTIAL_SA,
RESIDENTIAL_ISP,
NONE
other_information
any
terminate_criterion
string | null
default:Terminate when the requested job posting explicitly states that it is expired, closed, filled, or no longer accepting applications. A missing Apply button, redirect, or HTTP 404 alone is insufficient.

Condition that stops Apply. Omit to use the recipe default; null or empty text disables it.

error_code_mapping
Error Code Mapping · object | null

Error codes and descriptions. Omit for the recipe default; null or {} disables mapping. A supplied mapping replaces the default independently of terminate_criterion.

username
string | null
Minimum string length: 1
password
string | null
persist_credentials
boolean | null
2fa_identifier
string | null

Response

Successfully started job application

workflow_run_id
string
required
Pattern: ^wr_