Comeet APIcomeet.com ↗
Retrieve Comeet-hosted job listings and full application form definitions, including fields, questionnaires, and position metadata, via two structured endpoints.
What is the Comeet API?
The Comeet API exposes two endpoints that cover open job positions and their application form structures on Comeet-hosted careers pages. get_application_form returns over a dozen response fields per position — sections with field-level visibility and required flags, screening questionnaires with typed questions and options, employment type, and the public job URL. list_positions returns a complete, unpaginated list of all open roles for a given company, including remote status, workplace type, and experience level.
curl -X GET 'https://api.parse.bot/scraper/a850cf6d-ec11-4bf2-b512-2a610241e21c/get_application_form?company_uid=98.008&position_uid=C3.F61' \ -H 'X-API-Key: $PARSE_API_KEY'
Returns the application form definition for one job position hosted on Comeet, identified by the company UID and position UID that appear in its careers-page URL (e.g. .../jobs/<company_slug>/<company_uid>/<slug>/<position_uid>); position_uid values can also be taken from list_positions.positions[*].position_uid. One request. The payload lists the standard applicant fields the form shows, grouped into sections: personal_information (first name, last name, email, phone, optional national ID), profile (resume, LinkedIn URL, personal website, cover letter, portfolio), details (personal note) and consent (data-retention / SMS consent checkboxes, empty when the position needs none). Each field carries a stable key, display label, input type and whether it is mandatory; file fields also list allowed_formats. Hidden fields are omitted, so section arrays may be shorter than the full list. questionnaires lists the position's screening questionnaires with ordered questions; question type is one of text, text_area, radio_list, dropdown, multi_select, file, date, no_input, and options is populated only for choice types. profile_requirement is the site's rule for which profile source is mandatory (resume, linkedin, resume-linkedin, any, none). Unknown company/position UIDs return a stale_input error.
| Param | Type | Description |
|---|---|---|
| company_uidrequired | string | Comeet company UID as it appears in the careers URL, e.g. 98.008. |
| position_uidrequired | string | Comeet position UID as it appears at the end of the job URL, e.g. C3.F61 (location-specific variants look like AC.F59-10.501); position_uid from list_positions.positions[*].position_uid. |
{
"type": "object",
"fields": {
"location": "location display name",
"sections": "object with personal_information, profile, details, consent arrays of field objects {key, label, type, required, allowed_formats?}",
"department": "department name or null",
"company_uid": "company identifier echoed from the site",
"company_name": "company display name",
"position_uid": "position identifier",
"position_name": "job title",
"questionnaires": "array of {questionnaire_id, name, show_name_in_form, questions[{question_uid, title, type, required, explanation, options[{option_uid, title, explanation}]}]}",
"employment_type": "e.g. Full-time / Part-time / Hourly",
"careers_page_url": "public job page URL",
"experience_level": "seniority label",
"privacy_policy_url": "company privacy policy URL or null",
"profile_requirement": "which profile source is mandatory: resume | linkedin | resume-linkedin | any | none"
},
"sample": {
"data": {
"location": "Remote",
"sections": {
"consent": [
{
"key": "gdpr_consent",
"type": "checkbox",
"label": "I agree that you can keep my data for future opportunities",
"required": false
}
],
"details": [
{
"key": "personal_note",
"type": "text_area",
"label": "Personal note",
"required": false
}
],
"profile": [
{
"key": "resume",
"type": "file",
"label": "Resume",
"required": true,
"allowed_formats": [
"doc",
"docx",
"rtf",
"pdf"
]
},
{
"key": "linkedin_url",
"type": "url",
"label": "LinkedIn Profile URL",
"required": false
},
{
"key": "personal_website",
"type": "url",
"label": "Personal website",
"required": false
},
{
"key": "cover_letter",
"type": "text_area_or_file",
"label": "Cover letter",
"required": false,
"allowed_formats": [
"doc",
"docx",
"rtf",
"pdf"
]
},
{
"key": "portfolio",
"type": "text_area_or_file",
"label": "Portfolio",
"required": false,
"allowed_formats": [
"doc",
"docx",
"rtf",
"pdf"
]
}
],
"personal_information": [
{
"key": "first_name",
"type": "text",
"label": "First name",
"required": true
},
{
"key": "last_name",
"type": "text",
"label": "Last name",
"required": true
},
{
"key": "email",
"type": "email",
"label": "Email",
"required": true
},
{
"key": "phone",
"type": "phone",
"label": "Phone",
"required": true
}
]
},
"department": "Student's experience",
"company_uid": "98.008",
"company_name": "TripleTen",
"position_uid": "C3.F61",
"position_name": "AI & Machine Learning Teaching Expert (Part-time)",
"questionnaires": [
{
"name": "AI & ML Instructor",
"questions": [
{
"type": "radio_list",
"title": "How many years of experience do you have in ML Engineering?",
"options": [
{
"title": "1-2 years",
"option_uid": "1775758502326",
"explanation": null
},
{
"title": "7+ years",
"option_uid": "1785458466316",
"explanation": null
}
],
"required": true,
"explanation": null,
"question_uid": "1775758479960"
},
{
"type": "text",
"title": "Do you have experience teaching or mentoring people?",
"options": [],
"required": true,
"explanation": "If yes, please describe it in 5 sentences max.",
"question_uid": "1775758573832"
}
],
"questionnaire_id": 14579,
"show_name_in_form": true
}
],
"employment_type": "Part-time",
"careers_page_url": "https://www.comeet.com/jobs/tripleten/98.008/ai--machine-learning-teaching-expert-part-time/C3.F61",
"experience_level": "Senior",
"privacy_policy_url": "https://docs.tripleten.com/e-c/legal/e-c-privacy_general.html",
"profile_requirement": "resume"
},
"status": "success"
}
}About the Comeet API
Listing Open Positions
list_positions takes two required parameters — company_uid (e.g. 98.008) and company_slug (e.g. tripleten) — both drawn directly from the company's Comeet careers page URL. The response includes a positions array where each entry carries position_uid, name, department, location, city, country, is_remote, workplace_type, employment_type, and experience_level. The total field gives the count of returned positions. There is no pagination; one request retrieves the full list.
Retrieving an Application Form
get_application_form accepts company_uid and position_uid (e.g. C3.F61). Position UIDs can be taken directly from job page URLs or from the position_uid field returned by list_positions. The response includes a sections object broken into four named arrays — personal_information, profile, details, and consent — each containing field objects with key, label, type, required, and optionally allowed_formats. Position-level metadata (position_name, department, employment_type, location, careers_page_url) is also returned at the top level.
Questionnaires
The questionnaires array in get_application_form responses contains one or more questionnaire blocks, each with a questionnaire_id, name, a show_name_in_form flag, and a questions array. Each question carries question_uid, title, type, required, explanation, and an options array for choice-based question types. This structure lets you fully reconstruct the screening questions a candidate would answer during application.
The Comeet API is a managed, monitored endpoint for comeet.com — not a raw scraper you maintain. Every endpoint is automatically health-checked on a schedule, and when comeet.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 comeet.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.
Will this API break when the source site changes?+
Is this an official API from the source site?+
Can I fix or extend this API myself if I need a new endpoint or field?+
What happens if I call an endpoint that has an issue?+
- Aggregate all open roles from a Comeet-hosted careers page into an internal jobs dashboard using
list_positions - Filter positions by
is_remote,workplace_type, orexperience_levelto build a targeted job feed - Mirror application form fields into a custom-branded apply flow using the
sectionsstructure fromget_application_form - Extract screening questionnaires and their answer options to pre-screen candidates before redirecting them to the official form
- Track changes in required application fields or questionnaire questions across positions over time
- Identify which positions in a given company require consent fields or have specific
allowed_formatsrestrictions on file uploads
| Tier | Price | Credits/month | Rate limit |
|---|---|---|---|
| Free | $0/mo | 200 | 5 req/min |
| Hobby | $30/mo | 1,000 | 20 req/min |
| Developer | $100/mo | 5,000 | 100 req/min |
| Team | $300/mo | 20,000 | 300 req/min |
| Company | $1,000/mo | 100,000 | 500 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.
Does Comeet have an official developer API?+
What does `list_positions` return, and can I filter by department or location?+
list_positions returns the complete set of open positions for a company in one response, with fields including department, location, city, country, is_remote, workplace_type, employment_type, and experience_level. The endpoint does not accept server-side filter parameters — filtering by department or location needs to be applied client-side on the returned positions array.Does the API return candidate application data or submission history?+
How are location-specific position variants handled in `get_application_form`?+
location field value. The base UID and variant UIDs are treated as distinct positions.Does the API cover closed or draft positions?+
list_positions. Closed, filled, or internally-drafted positions are not included. You can fork this API on Parse and revise it to add any endpoint that targets a different position state if one becomes accessible through the public careers surface.