Polymer APIjobs.polymer.co ↗
Access published job listings and application form fields from any Polymer-hosted job board. Two endpoints return job summaries and structured form sections.
What is the Polymer API?
The Polymer Job Board API exposes 2 endpoints that let you read published job listings and application form structure from any organization hosted on jobs.polymer.co. The list_jobs endpoint returns all active postings for a given organization slug, each with a job_id, employment type, category, salary text, location, and publish timestamp. The get_application_form endpoint returns the ordered form sections and field-level metadata for a specific job.
curl -X GET 'https://api.parse.bot/scraper/dcdc15df-9c0c-4711-a0ab-ea0421384cbd/list_jobs?organization=inaza' \ -H 'X-API-Key: $PARSE_API_KEY'
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 jobs-polymer-co-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: Polymer Job Board SDK — list open roles, then inspect one application form."""
from parse_apis.jobs_polymer_co_api import PolymerJobBoard, InputNotFound
client = PolymerJobBoard()
org = "inaza"
# List all published jobs for the organization.
for job in client.jobs.list(organization=org, limit=5):
print(job.title, "|", job.employment_type, "|", job.salary or "no salary listed")
# Drill into the first job's application form.
job = client.jobs.list(organization=org, limit=1).first()
if job is not None:
try:
form = client.application_forms.get(organization=org, job_id=job.job_id)
except InputNotFound:
print("job no longer exists")
else:
print(form.title, "-", form.form_title)
for section in form.sections:
print(f" Section: {section.title}")
for field in section.fields:
required_tag = " (required)" if field.required else ""
print(f" {field.label} [{field.field_type}]{required_tag}")
print("exercised: jobs.list / application_forms.get")
Lists the currently published jobs of one organization's Polymer job board in one request. Each item carries the job_id accepted by get_application_form, plus title, employment type, category, display location, remoteness, salary text and publish timestamp. The board returns the full list at once (no pagination); an organization with no open roles yields an empty jobs array. An unknown organization slug is passed through as the site's own error.
| Param | Type | Description |
|---|---|---|
| organizationrequired | string | Organization slug as it appears in the job board URL path (lowercase letters, digits, hyphens), e.g. inaza. |
{
"type": "object",
"fields": {
"jobs": "array of job summaries; job_id (string) is the key for get_application_form, salary and location may be empty strings or null",
"total": "number of jobs returned",
"organization": "echoed organization slug"
},
"sample": {
"data": {
"jobs": [
{
"title": "B2B Marketing Executive",
"job_id": "40940",
"salary": "35K - 45K EUR a year",
"category": "Sales & Marketing",
"location": "",
"remoteness": "Remote",
"job_post_url": "https://careers.inaza.com/40940",
"published_at": "2026-08-06T14:12:07.380Z",
"employment_type": "Contract"
},
{
"title": "Business Operations Manager",
"job_id": "40939",
"salary": "70K - 90K EUR a year",
"category": "Operations & Finance",
"location": "IE",
"remoteness": "Remote",
"job_post_url": "https://careers.inaza.com/40939",
"published_at": "2026-08-06T14:07:06.710Z",
"employment_type": "Full-time"
}
],
"total": 2,
"organization": "inaza"
},
"status": "success"
}
}About the Polymer API
What the API returns
The list_jobs endpoint accepts a single required parameter, organization — the slug as it appears in the job board URL path (for example, inaza). It returns an array of job summaries under the jobs key, plus a total count and the echoed organization slug. Each summary includes job_id (used as the key for the second endpoint), title, employment_type, category, location, remoteness, a freeform salary text string, and a published_at ISO timestamp. Note that salary and location may be empty strings or null for jobs where the employer did not provide them.
Application form structure
get_application_form takes two required parameters: job_id (the numeric string from list_jobs) and organization. It returns a sections array — each section has a key, a title, and a fields array. The standard sections are personal_information (name, email, phone, location), profile (LinkedIn, X/Twitter, GitHub, Dribbble, website), and details (resume upload). Each field carries key, form_name, label, type (one of text, email, tel, url, or file), a required boolean, and a url_ flag. The response also includes the job title, category, location, remoteness, form_title, job_post_url, and published_at.
Coverage scope
The API covers organizations that host their careers page on the jobs.polymer.co platform. The organization slug is the path segment immediately after the domain in any Polymer board URL. Only currently published jobs are returned by list_jobs; archived or draft postings are not included.
The Polymer API is a managed, monitored endpoint for jobs.polymer.co — not a raw scraper you maintain. Every endpoint is automatically health-checked on a schedule, and when jobs.polymer.co 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 jobs.polymer.co 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 open roles across multiple Polymer-hosted employers by calling
list_jobswith different organization slugs - Build a job alert system that polls
list_jobsand notifies users whenpublished_atvalues are new - Pre-fill or validate custom application UIs by reading field
typeandrequiredattributes fromget_application_form - Categorize job listings by
categoryandemployment_typefor a niche job board aggregator - Audit which organizations on Polymer are actively hiring by tracking
totalcounts over time - Extract
job_post_urlvalues to build outbound links in a recruiting CRM or Slack bot - Check salary coverage by scanning
salaryfields across listings to see which organizations publish compensation data
| 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 Polymer have an official public developer API for its job board?+
What does `list_jobs` return for salary and location when an employer hasn't provided them?+
salary and location can be empty strings or null. The fields are always present in each job summary object, so your code should handle falsy values rather than treating their presence as a guarantee of content.Can I retrieve jobs across all organizations on Polymer in a single request?+
list_jobs requires a specific organization slug and returns jobs for that one employer only. To cover multiple organizations you need one call per slug. You can fork this API on Parse and revise it to add a multi-organization batch endpoint.Does the API return closed or archived job postings?+
list_jobs response. The API covers active listings at the time of the request. You can fork it on Parse and revise to add historical tracking if you store results yourself over time.Does `get_application_form` return any custom or employer-specific questions beyond the standard sections?+
personal_information, profile, and details. Custom questions added by the employer outside those sections are not currently surfaced. The API covers the standard Polymer form schema. You can fork it on Parse and revise to add support for non-standard sections if they appear in the form structure.