---
title: "Dover ATS"
description: "Dover ATS: the free startup applicant tracking system, where its careers pages live, what the Premium-only API returns, and how to reach those employers."
canonical: https://jobspipe.dev/sources/dover
date_published: 2026-10-29
date_modified: 2026-10-29
author: Dvir Atias
---

# Dover ATS

Dover ATS is the free applicant tracking system from Dover, the startup recruiting platform that also runs a fractional recruiter marketplace. Each customer gets a careers page at app.dover.com/jobs/<company>, and the Dover API at app.dover.com/api/v1/external/ lists that one company's jobs and job postings with its own key on the Premium plan; there is no public endpoint across Dover customers. JobsPipe does not collect Dover; search the same employers by company name across the 30+ sources in JobsPipe instead. Official documentation: [docs.dover.com/api](https://docs.dover.com/api/).

> Dover is a free applicant tracking system for startups with a Premium-only API that reads one company's own account, and JobsPipe does not collect Dover. This page explains what Dover exposes and how to reach the same employers' postings by company name.

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

## Official Dover API documentation

Dover's API reference lives at docs.dover.com/api. Every endpoint sits under app.dover.com/api/v1/external/ and takes the company's own key as a Bearer token, created under Settings and API Key in the Dover app. The API is available on the ATS Premium plan; other plans get a 403 with the code ats_premium_required. The job-postings routes read the jobs published to that company's careers page; the jobs route adds pipeline stages. There is no endpoint that works without a key and none that lists postings across Dover customers.

- Careers page: `https://app.dover.com/jobs/{company}`
- Open jobs with pipeline stages: `GET https://app.dover.com/api/v1/external/jobs`
- Jobs published to the careers page: `GET https://app.dover.com/api/v1/external/job-postings`
- One posting with its questions: `GET https://app.dover.com/api/v1/external/job-postings/{id}`
- Submit an application: `POST https://app.dover.com/api/v1/external/job-postings/{id}/applications`

- [Dover API reference: docs.dover.com/api](https://docs.dover.com/api/)
- [Dover help center article on the API: help.dover.com](https://help.dover.com/en/articles/10089177-dover-api)
- [Dover ATS product page: dover.com/ats](https://www.dover.com/ats)

## Coverage

JobsPipe does not collect Dover. This page explains what Dover exposes publicly and how to reach the same postings where they are also published on a board JobsPipe does collect (Workday, Greenhouse, Lever, Ashby, LinkedIn, Indeed, SmartRecruiters, Workable, Personio, Recruitee, Teamtailor, EURES, Paylocity, Breezy HR, CV-Library, Y Combinator, Bayt, JobTech (Sweden), Resume-Library, Arbeitnow, Himalayas, Rise, Manatal, Pinpoint, JobScore, HireHive, The Muse, Remotive, Remote OK, Jobicy, Working Nomads, Landing.jobs).

## Why Dover jobs data is confusing

Dover is two products under one name. The recruiter marketplace places fractional recruiters with startups, and Dover ATS is the applicant tracking system those startups run, free with unlimited users, jobs and candidates and a paid Premium tier. Searches for "Dover ATS" land on either, and the API belongs to the ATS alone.

The Dover API reads one company's own account with that company's key, on the Premium plan only. Its job-postings routes return the jobs that company published to its careers page, not a feed across employers, and Dover publishes no directory of its customers. Startups on Dover push the same roles to LinkedIn and Indeed through Dover's one-click integrations, and many also list on Y Combinator's Work at a Startup, so their postings reach JobsPipe through those boards.

## Workarounds

### Use the Dover API

Works for one company on the Premium plan that gives you its key. The job-postings routes return that company's published jobs with their application questions; nothing reads another customer's board.

### Read individual careers pages

Each customer's board lives at app.dover.com/jobs/<company>, rendered by a JavaScript app rather than served as plain HTML, with no sitemap or directory of companies. Possible for employers you already know, one at a time.

### What JobsPipe offers instead

JobsPipe does not collect Dover. Search the same employers by name with company_name_partial_match_or on POST /v1/jobs/search; sources[0].provider on each record names the board the posting came from, such as linkedin, indeed or ycombinator.

## Fields available on every record

- `id`
- `job_title`
- `company`
- `company_domain`
- `url`
- `date_posted`
- `discovered_at`
- `last_seen_at`
- `verified_at`
- `status`
- `closed_at`
- `closed_reason`
- `ghost_score`
- `seniority`
- `cities`
- `state_code`
- `min_annual_salary_usd`
- `max_annual_salary_usd`
- `technology_slugs`
- `keyword_slugs`
- `esco_skills`
- `sources`

## FAQ

### Is Dover an ATS?

Yes. Dover ATS is an applicant tracking system built for startups: a kanban pipeline, a candidate portal, a careers page and one-click posting to LinkedIn, Indeed and X Hiring. Dover the company also runs a marketplace of fractional recruiters, which is why the name shows up in both recruiting-service and recruiting-software searches.

### Is Dover ATS free?

The core ATS is free, with unlimited users, jobs and candidates and no card required. A paid Premium plan adds AI applicant scoring, an AI notetaker, a fully customizable careers page and API access. Pricing changes, so check dover.com/pricing for the current figure.

### Does Dover have an API?

Yes, for Premium customers reading their own account. The endpoints under app.dover.com/api/v1/external/ list the company's open jobs, its published job postings, one posting's details and questions, recent hires, and accept new candidates and applications. Calls use the company's key as a Bearer token. There is no endpoint across Dover customers and none that works without a key.

### Where is a company's Dover job board?

At app.dover.com/jobs/ followed by the company's handle, the same shape Dover uses for its own careers page. The page is rendered by Dover's JavaScript app, so a plain HTTP fetch returns the shell and the listings load afterwards. Companies on the Premium plan can host a custom careers page on their own domain through the API instead.

### Which job boards does Dover post to?

Dover offers one-click integrations for LinkedIn, Indeed and X Hiring, an integration with Y Combinator's Work at a Startup for YC companies, and manual posting to other boards by pasting a Dover apply link into the listing. Posts typically go live within a day. Those syndicated copies are how Dover employers' roles reach the boards JobsPipe does include.

### How do I get job postings from companies that use Dover?

Search them by name. A company_name_partial_match_or filter on POST /v1/jobs/search returns each employer's postings from the boards JobsPipe does include, and the section on what JobsPipe returns for Dover lists the fields on each record.

## Dover ATS job board URL pattern

Dover hosts each customer's careers page at app.dover.com/jobs/<company>; Dover's own openings sit at app.dover.com/jobs/dover. The page title and the listings are rendered client-side, so there is no static HTML to parse and no feed or sitemap behind it. The Premium API reads the same published jobs through GET /api/v1/external/job-postings, with the company's key.

## What JobsPipe returns for Dover

Nothing under "source_or": ["dover"], since Dover isn't a collected board. Employers that run Dover push the same roles to LinkedIn and Indeed through Dover's one-click integrations, and YC-backed ones also list on Work at a Startup; JobsPipe includes all three boards, so filter POST /v1/jobs/search by company_name_partial_match_or to reach them. Each record comes back with sources[0].provider, status, ghost_score, discovered_at, last_seen_at, seniority, and min_annual_salary_usd and max_annual_salary_usd when the posting states a range.

## Related

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

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

---
Building this integration yourself? The steps above work. The alternative is one API over 30+ sources, already normalized and deduplicated. Try it right now - no key, no signup:

```bash
curl -d '{"limit":3}' https://api.jobspipe.dev/v1/sandbox/jobs/search
```

Sample data, exact live schema. For live data get a free key (1,000 jobs to start) at https://jobspipe.dev/signup, then swap /v1/sandbox/jobs/search for /v1/jobs/search with an Authorization: Bearer header. Full agent index: https://jobspipe.dev/llms.txt?src=md-twin