# Polymer Jobs API

> Polymer publishes a public jobs endpoint - but per-organization. JobsPipe indexes every public Polymer org and returns the data alongside 30+ other sources in one normalized JSON schema.

**Canonical URL:** https://jobspipe.dev/sources/polymer

## Coverage

- **Sources covered:** All public Polymer organizations on api.polymer.co
- **Freshness:** 24h refresh
- **History retention:** 12 months retention

## Why Polymer jobs data is confusing

Polymer is one of the cleaner ATS APIs on the market. There's a public, unauthenticated endpoint at api.polymer.co/v1/hire/organizations/<organization_slug>/jobs that returns every posting for one org - no auth header, no OAuth dance. The catch for aggregators: you have to know the organization_slug, and there's no documented endpoint to enumerate them. Polymer also rate-limits the public endpoint without publishing the exact limits.

Polymer also offers a Customer API (Bearer-token authenticated, currently in beta) for ATS integrations - jobs, candidates, applications, comments. That's the right surface for one customer's tooling, but it's gated by an admin-minted API key inside that one tenant. JobsPipe consumes only the public endpoint, indexes every org slug it discovers, and serves the normalized data alongside 30+ other ATSs.

## Workarounds

### Call the public endpoint per organization

Clean once you have the slug, but you need to discover every Polymer organization slug yourself and handle undisclosed rate limits.

### Use the authenticated Customer API

Currently in beta. Each Polymer admin generates a key from settings - reads only that one organization's data.

### Use JobsPipe

Every public Polymer organization, one endpoint, normalized JSON. Monthly free credits included.

## Fields available on every record

- `id`
- `source`
- `tenant`
- `title`
- `company`
- `location`
- `salary`
- `employment_type`
- `remote`
- `posted_at`
- `expires_at`
- `apply_url`
- `description`

## Sample response

```json
{
  "id": "pm_b3JnXzAxSEs",
  "source": "polymer",
  "tenant": "northbeam",
  "title": "Founding Product Engineer",
  "company": "Northbeam",
  "location": {
    "city": "New York",
    "region": "NY",
    "country": "US",
    "remote": false
  },
  "salary": {
    "min": 180000,
    "max": 240000,
    "currency": "USD",
    "period": "year",
    "source": "explicit"
  },
  "employment_type": "full_time",
  "department": "Engineering",
  "posted_at": "2026-05-13T16:08:00Z",
  "expires_at": null,
  "apply_url": "https://app.polymer.co/jobs/northbeam/founding-product-engineer",
  "description": "Northbeam is hiring a founding Product Engineer to ship customer-facing analytics features end-to-end ..."
}
```

## FAQ

### Do I need a Polymer API key to use JobsPipe?

No. JobsPipe consumes Polymer's public unauthenticated jobs endpoint and the public careers pages. You only need a JobsPipe key.

### How fresh is Polymer data on JobsPipe?

Every public Polymer organization is re-polled at least every 24 hours; high-volume orgs more frequently.

### Can I filter to a single Polymer organization?

Yes. Add "company_name_partial_match_or": ["<company>"] to the JSON body of POST /v1/jobs/search to scope results to one org's postings.

### Does JobsPipe use Polymer's Customer API?

No. JobsPipe only reads public, anonymous endpoints. The Customer API is intentionally scoped to one tenant's data and isn't suited to cross-tenant aggregation.

## Polymer API documentation

Polymer's developer docs live at developer.polymer.co and document two surfaces: a Public API (unauthenticated, rate-limited, intended for job board integrations) and a Customer API (Bearer-token authenticated, in beta, intended for ATS integrations and internal tooling). Both share the same base URL: https://api.polymer.co/v1/hire. The public endpoints are GET /organizations/<organization_slug>/jobs and GET /organizations/<organization_slug>/jobs/<job_id>. JobsPipe's normalized schema at /docs is the same shape for every source, so you don't have to learn Polymer's response format separately.

## Polymer API key

API keys are generated by Polymer users with an admin role inside Settings. Keys are scoped to one Polymer organization - there is no cross-tenant credential. JobsPipe doesn't require any Polymer credentials because we consume only the public unauthenticated endpoint and authenticate every request with one JobsPipe key.

## Polymer API integration

Single-organization Polymer integration (internal reporting, candidate sync to your CRM, AI agents reading hiring data) uses the Customer API with an admin-minted Bearer token. Cross-organization aggregation - what most teams arriving at this page want - is JobsPipe: every public Polymer org under one endpoint, normalized into the same JSON schema as 30+ other ATSs, with rate limits and slug discovery handled for you.

## Related

- **Product:** https://jobspipe.dev/jobs-api
- **All sources:** https://jobspipe.dev/sources
- **Docs:** https://jobspipe.dev/docs
- **Sign up (free tier):** https://jobspipe.dev/signup

---
Generated from structured data. View the rendered page at https://jobspipe.dev/sources/polymer.