Ashby Jobs Application Form Schema API
Get the sections and fields of a job's public application form.
- 1 credit per call
- Failed calls are free
- Updated
- ashby.application-form-schema
{ "form_id": "55e5f91f-1bea-4d76-9af2-b539fa929b0a", "controls": [ { "title": "Submit", "identifier": "d94d2ac4-109e-4459-8ce1-a2b9c7c9c48d" } ], "sections": [ { "title": "Basic Info", "fields": [ { "title": "Name", "field": "Name", "path": "_systemfield_name", "required": true, "type": "String", "selectable_values": [] }, { "title": "Email", "field": "Email", "path": "_systemfield_email", "required": true, "type": "Email", "selectable_values": [] } ] }, { "title": "Your Experience", "description": "Some questions are not required, but we will prioritize reviewing applicants who answer them over those who don't. Be brief and direct, we …", "fields": [ { "title": "On a scale of 1 to 4, how experienced are you with application programming?", "description": "Answer across your entire professional history, not counting strictly personal projects.", "field": "On a scale of 1 to 4, how experienced are you with application programming?", "path": "71bb255b-791f-49c8-8993-a3a0a9b143ce", "required": true, "type": "ValueSelect", "selectable_values": [ { "label": "1 - Primarily a system or Linux administrator", "value": "1 - Primarily a system or Linux administrator" }, { "label": "2 - Infra as code and programming tooling, reusable scripts or CLI", "value": "2 - Infra as code and programming tooling, reusable scripts or CLI" } ] }, { "title": "Describe an interesting software abstraction you’ve built and or made major contributions to in a professional context.", "description": "The abstraction should address a real-world problem, have a non-obvious solution, and necessitate an understanding of a complex system or t…", "field": "Describe an interesting software abstraction you’ve built and or made major contributions to in a professional context.", "path": "8656671d-078b-4c4e-9177-ead75a5c911e", "required": false, "type": "LongText", "selectable_values": [] } ] } ]}
| # | Title | Description |
|---|---|---|
| 1 | Basic Info | |
| 2 | Your Experience | Some questions are not required, but we will prioritize reviewi… |
What you send
The input
object of the request, with every field the endpoint accepts.
| Field | Type | Required | What it does | Example |
|---|---|---|---|---|
| board_slug | string | yes | The board name. | ashby |
| job_id | string | yes | The job's ID. | 0f5dbf59-687b-4d88-88a7-73ee0a66b48d |
Fields it returns
What each record in the response holds, with the values from the sample above.
| Field | Type | What it is | Example |
|---|---|---|---|
| sections[].fields[].title | string | The question as shown. | Name |
| sections[].title | string | The section's title. | Basic Info |
| sections[].fields | array | The questions in the section. | 3 records |
| sections[].fields[].field | string | The question's name. | Name |
| sections[].fields[].path | string | The question's name in the form. | _systemfield_name |
| sections[].fields[].required | boolean | Whether an answer is required. | true |
| sections[].fields[].selectable_values | array | The choices, when the question has them. | empty in this sample |
| sections[].fields[].type | string | The kind of answer, such as text or a file. | String |
| controls | array | The form's buttons. | 1 records |
| controls[].identifier | string | d94d2ac4-109e-4459-8ce1-a2b9c7c9c48d | |
| controls[].title | string | The button's label. | Submit |
| form_id | string | Ashby's ID for the application form. | 55e5f91f-1bea-4d76-9af2-b539fa929b0a |
| sections | array | The application form's sections. | 2 records |
Call it from your code, or ask your agent
Set UPSCRAPE_API_KEY to your key and copy a working request.
curl --request POST \ --url https://data.upscrape.com/execute \ --header "Authorization: Bearer $UPSCRAPE_API_KEY" \ --header "Content-Type: application/json" \ --header "Prefer: wait=30" \ --data '{ "capability": "ashby.application-form-schema", "input": { "board_slug": "ashby", "job_id": "0f5dbf59-687b-4d88-88a7-73ee0a66b48d" }}'
import jsonimport osimport requestspayload = json.loads(r'''{ "capability": "ashby.application-form-schema", "input": { "board_slug": "ashby", "job_id": "0f5dbf59-687b-4d88-88a7-73ee0a66b48d" }}''')response = requests.post( "https://data.upscrape.com/execute", headers={ "Authorization": f"Bearer {os.environ['UPSCRAPE_API_KEY']}", "Content-Type": "application/json", "Prefer": "wait=30", }, json=payload,)response.raise_for_status()print(json.dumps(response.json(), indent=2))
const response = await fetch("https://data.upscrape.com/execute", { method: "POST", headers: { "Authorization": `Bearer ${process.env.UPSCRAPE_API_KEY}`, "Content-Type": "application/json", "Prefer": "wait=30", }, body: JSON.stringify({ "capability": "ashby.application-form-schema", "input": { "board_slug": "ashby", "job_id": "0f5dbf59-687b-4d88-88a7-73ee0a66b48d" }}),});if (!response.ok) { throw new Error(`Upscrape request failed: ${response.status}`);}console.log(JSON.stringify(await response.json(), null, 2));
https://data.upscrape.com/mcp
With Upscrape, get the Ashby Jobs application form schema for board slug "ashby" and job id "0f5dbf59-687b-4d88-88a7-73ee0a66b48d". Tell me what it costs before you run it, then show the results as a table.
More from the Ashby Jobs API
Ashby Jobs Application Form Schema API FAQ
The short answers. The docs have the long ones.
How much does the Ashby Jobs Application Form Schema API cost?
1 credit per successful call, shown before it runs. You buy credits once, and paid credits never expire.
What do I send?
Send board_slug and job_id. The input fields below list every option with its type and limits.
Do I need an Ashby Jobs login?
No. It reads public Ashby Jobs data; nothing runs on your account.
Can my AI agent call it?
Yes, over MCP: the agent finds ashby.application-form-schema, checks its price and runs it with the same credits as the REST API.
Your first Ashby Jobs call is free.
Up to 100 free credits to start, no card needed.