Discover/Teamtailor API
live

Teamtailor APIwhyhirewrong.teamtailor.com

Retrieve the full application form structure for WhyHireWrong? Teamtailor job listings — sections, fields, types, and requirements in one API call.

This API takes change requests — .
Endpoint health
verified 2h ago
get_application_form
1/1 passing latest checkself-healing
Endpoints
1
Updated
3h ago

What is the Teamtailor API?

The WhyHireWrong Teamtailor API exposes 1 endpoint, get_application_form, that returns the complete application form structure for any job listing on the WhyHireWrong? Teamtailor career site. A single call yields the job title, location, short description, and all form sections with their fields — including labels, field types, input types, required status, and selectable options for choice fields.

This call costs1 credit / call— charged only on success
Try it
Full URL of the Teamtailor job listing (e.g. https://whyhirewrong.teamtailor.com/jobs/8244549-founding-growth-manager). The slug after the numeric ID is optional.
api.parse.bot/scraper/17397608-ab13-4174-98ee-6f66bb2daf1d/<endpoint>
Ready to send
Fill in the parameters and hit sign in to send to see live response data here.
Call it over HTTPgrab a free API key at signup
curl -X GET 'https://api.parse.bot/scraper/17397608-ab13-4174-98ee-6f66bb2daf1d/get_application_form?job_url=https%3A%2F%2Fwhyhirewrong.teamtailor.com%2Fjobs%2F8244549-founding-growth-manager' \
  -H 'X-API-Key: $PARSE_API_KEY'
Python SDK · recommended

Typed, relational, agent-ready

A generated client with real types, enums, and the links between objects — the structure a flat JSON response can't carry. Autocompletes in your editor and reads cleanly to coding agents.

  • Fully typed · autocompletes
  • Objects link to objects
  • Typed errors & pagination

Typed Python client. Set up the SDK in your uv project, then pull this API’s typed client:

uv add parse-sdk
uv run parse init
uv run parse add --marketplace whyhirewrong-teamtailor-com-api

uv run parse add --marketplace pulls a pinned snapshot of this canonical API — it won’t change underneath you. To customize it, subscribe and swap to your own copy.

"""Walkthrough: Teamtailor application form API — fetch and inspect a job's form structure."""
from parse_apis.whyhirewrong_teamtailor_com_api import Teamtailor, InvalidJobUrl

client = Teamtailor()

# Fetch the application form for a specific job listing.
try:
    form = client.application_forms.get(
        job_url="https://whyhirewrong.teamtailor.com/jobs/8244549-founding-growth-manager"
    )
except InvalidJobUrl:
    print("Job listing not found or URL is invalid.")
    raise

print(f"{form.job_title} — {form.location}")
print(form.description[:120])

# Walk each section and its fields to understand the form structure.
for section in form.sections:
    print(f"\n[{section.name}]")
    for field in section.fields:
        required_tag = " (required)" if field.required else ""
        print(f"  {field.label}: {field.field_type}/{field.input_type}{required_tag}")
        if field.question_id is not None:
            print(f"    question_id={field.question_id}")

print("\nexercised: application_forms.get")
All endpoints · 1 totalmissing one? ·

Retrieves the application form for a Teamtailor job listing. Returns the form structure organized into sections (e.g. Details, Personal information), each containing its fields with labels, types, required status, and options where applicable. Custom questions include their question_id. One HTTP round-trip to the career site's application page. Returns upstream_error with status 404 when the job listing does not exist.

Input
ParamTypeDescription
job_urlrequiredstringFull URL of the Teamtailor job listing (e.g. https://whyhirewrong.teamtailor.com/jobs/8244549-founding-growth-manager). The slug after the numeric ID is optional.
Response
{
  "type": "object",
  "fields": {
    "job_id": "string — numeric job ID",
    "location": "string — location and remote status",
    "sections": "array of section objects, each with name (string) and fields (array of field objects with label, field_type, input_type, required, and optionally question_id, options, consent_text)",
    "job_title": "string — title of the job listing",
    "description": "string — short description of the job listing"
  },
  "sample": {
    "data": {
      "job_id": "8244549",
      "location": "Paris · Fully Remote",
      "sections": [
        {
          "name": "Details",
          "fields": [
            {
              "label": "Please attach your Linkedin profile",
              "required": true,
              "field_type": "custom_question",
              "input_type": "text",
              "question_id": "5420078"
            }
          ]
        },
        {
          "name": "Personal information",
          "fields": [
            {
              "label": "First name",
              "required": true,
              "field_type": "standard_field",
              "input_type": "text"
            },
            {
              "label": "Last name",
              "required": true,
              "field_type": "standard_field",
              "input_type": "text"
            },
            {
              "label": "Email",
              "required": true,
              "field_type": "standard_field",
              "input_type": "email"
            },
            {
              "label": "Phone",
              "required": true,
              "field_type": "standard_field",
              "input_type": "tel"
            },
            {
              "label": "Upload CV",
              "required": true,
              "field_type": "file_upload",
              "input_type": "file"
            },
            {
              "label": "Privacy Policy Consent",
              "required": true,
              "field_type": "consent",
              "input_type": "checkbox",
              "consent_text": "By submitting this application, I agree that I have read the Privacy Policy and confirm that WhyHireWrong? store my personal details to be able to process my job application."
            }
          ]
        }
      ],
      "job_title": "Founding Growth Manager",
      "description": "Join a Paris pre-seed app studio as Founding Growth Manager: own $1M+/month mobile acquisition, build the growth engine, and scale creator-led Health & Fitness apps from day one."
    },
    "status": "success"
  }
}

About the Teamtailor API

What the API returns

The get_application_form endpoint accepts a single required parameter, job_url, which should be the full URL of a job listing on the WhyHireWrong? Teamtailor site (e.g. https://whyhirewrong.teamtailor.com/jobs/8244549-founding-growth-manager). The response includes the numeric job_id, job_title, location (including remote status), and a description summarizing the role.

Form structure in the response

The core of the response is the sections array. Each section object carries a name (such as "Details" or "Personal information") and a fields array. Every field object exposes a label, a field_type, an input_type, a required boolean, and — for choice-type fields — an options array listing the selectable values. Custom questions defined by the employer are also included and carry their full question text alongside the same field metadata.

Coverage and scope

This API is scoped to the WhyHireWrong? Teamtailor career site specifically. It returns form structure data, not submitted applications or candidate records. The job_url must point to an active listing on the whyhirewrong.teamtailor.com domain; listings from other Teamtailor-hosted career sites are not covered by this endpoint.

Reliability & maintenanceVerified

The Teamtailor API is a managed, monitored endpoint for whyhirewrong.teamtailor.com — not a raw scraper you maintain. Every endpoint is automatically health-checked on a schedule, and when whyhirewrong.teamtailor.com changes and a check fails, the API is automatically queued for repair and re-verified. It is built to keep working as the site underneath it changes.

This isn't an official whyhirewrong.teamtailor.com API — it's an independent, maintained REST wrapper over public data. Where the source has no official API (or only a limited one), Parse gives you a stable contract over a source that never promised one, and keeps it current. Need a new endpoint or field? You can revise it yourself in plain English and the agent rebuilds it against the live site in minutes — contributing the change back to the shared API is free.

Last verified
2h ago
Latest check
1/1 endpoint passing
Maintenance
Monitored & self-healing
Will this API break when the source site changes?+
It's built not to. Every endpoint is health-checked on a schedule with automated test probes. When the source site changes and a check fails, the API is automatically queued for repair and re-verified — that's the self-healing layer. Each API page shows when its endpoints were last verified. And because marketplace APIs are shared, any fix reaches everyone using it.
Is this an official API from the source site?+
No — Parse APIs are independent, managed REST wrappers over publicly available data. That is the point: where a site has no official API (or only a limited one), Parse gives you a maintained, monitored endpoint for that data and keeps it working as the site changes — so you get a stable contract over a source that never promised one.
Can I fix or extend this API myself if I need a new endpoint or field?+
Yes — and you don't have to wait on us. This API was generated by the Parse agent, which stays attached. Describe the change in plain English ("add an endpoint that returns reviews", "fix the price field") in the revise box on the API page or via the revise_api MCP tool, and the agent rebuilds it against the live site in minutes. Contributing the change back to the public API is free.
What happens if I call an endpoint that has an issue?+
Errors are machine-readable: a bad call returns a clean status with the list of available endpoints and a repair hint, so an agent (or you) can recover or trigger a fix instead of failing silently. Confirmed failures feed the automatic repair queue.
Common use cases
  • Pre-fill or validate a custom job application UI by mapping form fields and field_type values from the response.
  • Audit required vs. optional fields across multiple job listings using the required boolean on each field object.
  • Generate candidate intake checklists from the sections and fields structure before submitting an application.
  • Detect custom employer questions in the sections array to prepare tailored answers in advance.
  • Sync the application form structure into an ATS or hiring workflow tool using job_id and job_title as identifiers.
  • Compare form complexity across roles by counting total fields per listing using the sections response.
Pricing & limitsSee full pricing →
TierPriceCredits/monthRate limit
Free$0/mo2005 req/min
Hobby$30/mo1,00020 req/min
Developer$100/mo5,000100 req/min
Team$300/mo20,000300 req/min
Company$1,000/mo100,000500 req/min

Each endpoint has a fixed posted price per successful call — most fall between 1 and 10 credits — shown on this API's page before you run it. Exceeding the rate limit returns a 429 response. Authenticate with the X-API-Key header.

Frequently asked questions
Does Teamtailor provide an official developer API?+
Yes. Teamtailor publishes an official REST API for customers at https://docs.teamtailor.com/. It requires partner-level access and covers candidate, job, and company data for Teamtailor account holders. This Parse API is scoped to the public-facing WhyHireWrong? career site and does not require a Teamtailor account.
What does `get_application_form` return for fields that have predefined choices?+
For choice-type fields — such as dropdowns or radio groups — the field object includes an options array listing each selectable value alongside the standard label, field_type, input_type, and required properties. Free-text fields return the same structure without an options array.
Does the API return actual job application submissions or candidate data?+
No. The API returns only the form structure — sections, fields, types, and requirements — not submitted applications, candidate profiles, or hiring decisions. You can fork this API on Parse and revise it to add an endpoint that retrieves additional public listing metadata if needed.
Can this API retrieve application forms from other Teamtailor-hosted career sites?+
Not currently. The API is scoped to the whyhirewrong.teamtailor.com domain. Job URLs from other Teamtailor career sites will not return results. You can fork this API on Parse and revise the endpoint to point at a different Teamtailor subdomain.
What happens if a job listing is no longer active?+
If the listing at the provided job_url has been closed or removed, the endpoint will not return form structure data. Always verify that the listing URL resolves to a live job before calling the endpoint.
Page content last updated . Spec covers 1 endpoint from whyhirewrong.teamtailor.com.
Related APIs in JobsSee all →
jobs.eu.lever.co API
Get detailed information about job application forms on EU Lever job postings, including all sections, field types, required status, and dropdown options. Use this data to understand the application requirements or integrate application form structures into your hiring workflow.
jobs.workable.com API
Access data from jobs.workable.com.
jobs.ashbyhq.com API
Access company information, job listings, and detailed job postings from Ashby-hosted job boards, with the ability to search opportunities by keyword or department. Retrieve application forms and all relevant hiring details to streamline your job search process.
help.redbubble.com API
Retrieve the names and XPaths of all form fields from Redbubble's help center ticket submission forms to streamline your support ticket creation process. Quickly map out the exact structure and location of each input field needed to submit your help requests programmatically.
job-boards.greenhouse.io API
Access job listings, department information, office locations, and application forms from Greenhouse.io job boards, then submit applications directly through the platform. Search and filter available positions by keywords to find roles that match your qualifications.
jobs.lever.co API
Access job postings on any Lever-hosted company job board. List, filter, search, and group open roles, retrieve full posting details, and extract application form questions via Lever's public API.
Workday Jobs API
Search and retrieve job postings and detailed descriptions from any company's Workday career site. Find open positions across all organizations using Workday's hiring platform and access complete job details in one place.
nofluffjobs.com API
Search and filter job openings from No Fluff Jobs by category, seniority level, location, and keywords to find IT, marketing, sales, and HR positions tailored to your needs. Retrieve detailed information about specific job postings including requirements, company details, and employment terms to help you make informed application decisions.