Greenhouse
by Greenhouse Software, Inc. HTTP API in Recruiting & applicant tracking
Hosted
Greenhouse Software, Inc. · greenhouse.com since 1997 · status page · who's behind it
Applicant tracking system from Greenhouse Software in New York. The Harvest v3 REST API reads and writes jobs, candidates, applications, interviews, scorecards and offer records, and a hosted MCP server in open beta exposes a subset of it.
Good for An agent working inside a company that already runs hiring on Greenhouse and needs to read pipelines, move applications, schedule interviews or draft offer records under scoped OAuth.
Is this your product? Claim this listing or verify it
Assessment. Harvest v3 pairs per-endpoint OAuth scopes with Markdown docs that embed an OpenAPI 3.1 definition for each call, and the beta MCP server blocks every DELETE. Access needs a paying customer account, with no public price, trial or self-serve sandbox, and no numeric rate limit or idempotency key was found in the reviewed documentation.
Facts
- Transport
- HTTP
- Endpoint
https://harvest.greenhouse.io/v3- Auth
- OAuth
- Pricing
- Paid · Paid
- x402
- No
- Licence
- Proprietary service under Greenhouse's Master Subscription Agreement. The docs repository for the older APIs on GitHub is Apache-2.0
- llms.txt
- published
- Last release
- Surface graded
- Harvest v3 REST API at https://harvest.greenhouse.io/v3, generally available. The Greenhouse MCP server is described from its help centre articles and is in open beta
- API
- 179 reference pages (74 GET, 54 POST, 26 PATCH, 23 DELETE, 2 PUT) covering applications, candidates, jobs, job posts, interviews, scorecards, offer records, approvals, users and custom fields. OpenAPI 3.1 per endpoint, info version v3
- Credentials
- OAuth 2.0 client credentials for a customer's own integration, created under API Credentials in Greenhouse with chosen scopes. OAuth 2.0 authorisation code grant for partners (access token 1 hour, refresh token 14 days). Scopes per endpoint, such as
harvest:candidates:list - Rate limits
- Fixed 30-second window, with the limit returned in
X-RateLimit-Limit(the docs' example shows 75). Token requests use a separate 60-second window. 429 carriesRetry-After. Audit Log API 50 requests per 10 seconds and 3 paginated requests per 30 seconds - Pagination
- Cursor in the
Linkheader (rel="next"only),per_pagedefault 100, maximum 500, ordered by id descending - Errors
- 401, 403, 422 and 429 with a JSON body of
messageand anerrorsarray, shown in the guides. Reference pages list status codes without bodies - MCP server
- https://mcp.greenhouse.io/mcp (the Claude Code and ChatGPT steps use https://mcp.us.greenhouse.io/mcp), hosted in the US. A subset of Harvest v3 as tools. OAuth 2.0 with PKCE and dynamic client registration, redirect URLs checked against an allowlist. Named tools are Claude, ChatGPT, Google Antigravity, Glean, Copilot Studio, Amazon Q and Grok
- MCP controls
- Site Admins set the scope ceiling under Dev Centre > MCP Access. Seven read-only scopes by default. DELETE blocked. Five actions need human confirmation. Access tokens last one hour, refresh tokens until 14 days of inactivity
- Audit
- Audit Log API (a paid add-on) keeps thirty days of events, with types
harvest_access,mcp_accessandmcp_tool_call, the OAuth client, the authorising user and redacted arguments - Webhooks
- Recruiting webhooks signed with HMAC SHA-256 in a
Signatureheader, up to 7 attempts over about 15 hours - Sandbox
- A sandbox environment is a Pro-tier feature per the help centre. No self-serve developer account found
- Certifications
- SOC 1 Type II, SOC 2 Type II, ISO 27001:2022, ISO 27701:2019 and ISO 42001:2023 per greenhouse.com/security and trust.greenhouse.com. Bug bounty on HackerOne, annual third-party penetration tests
- Status
- status.greenhouse.io on Statuspage, with a Greenhouse Harvest API component and per-silo components
- Sub-processors
- Public list with purposes and locations at greenhouse.com/subprocessors-in-use. AWS hosting in the United States, Germany and Australia
Facts verified 2026-10-07 from vendor docs, repositories and package registries. JSON · Markdown
Strengths
- OAuth 2.0 with per-endpoint scopes such as
harvest:applications:move, and secret rotation that keeps the old secret for up to a week - Every Harvest v3 reference page has a Markdown twin with an OpenAPI 3.1 definition, indexed by llms.txt
- The MCP server blocks every DELETE endpoint and asks for human confirmation on five actions, including reject, hire and merge
- Cursor pagination with
per_pageup to 500 andcreated_atorupdated_atfilters on list endpoints - Audit Log API records
harvest_access,mcp_accessandmcp_tool_callevents with the OAuth client and user
Weaknesses
- No public price, free tier or trial. Pricing is customised through sales, and the sandbox is a Pro-tier feature
- The v3 rate limit is a 30-second window with no published number. The limit arrives in
X-RateLimit-Limit - No idempotency keys found, and reference pages list 401, 403 and 422 without error body examples
- All list endpoints need a Site Admin as the authorising user, per the authentication guide
- No official SDKs found, and the MCP server is in open beta and absent from the official MCP registry
Before you call it notes for agents
- Request a token from https://auth.greenhouse.io/token with client credentials, then send it as a Bearer token to https://harvest.greenhouse.io/v3. Tokens expire, so repeat on 401
- Put filters and
per_pageon the first list request only. Acursormust be the only query parameter, or the call returns 422 - Send the current stage as
from_stage_idwhen moving an application. It guards against stale moves. Other writes have no idempotency key, so check before retrying - Read
X-RateLimit-Remainingon every response and wait forRetry-Afteron 429. The window is 30 seconds - Expect empty list results or 403 unless the token's user is a Site Admin with the needed permissions
Who's behind it provenance 90/100
- Legal entity namedGreenhouse Software, Inc.20/20
- Domain agegreenhouse.com, registered 1997-07-30 (29 years)15/15
- Endpoint on the vendor's domainharvest.greenhouse.io15/15
- Terms of serviceread, states 6 of the 7 things a reader expects, and has 1 clause that costs points7.1/10
- Privacy policyread, states 8 of the 8 things a reader expects, and has 1 clause that costs points8/10
- Status pagestatus.greenhouse.io10/10
- Changelogpublished10/10
- security.txtpublished but past its Expires date5/10
Terms and privacy, as read
Terms of service dated 2026-02-01, states 6 of 7, 1 to know
TL;DR Dated 2026-02-01. States 6 of the 7 things a reader expects, and we didn't find how changes are announced. To know before relying on it, limits on benchmarking.
Restricts benchmarking or competitive usecosts points
(x) use or view the Greenhouse Services for the purposes of developing, directly or indirectly, a product or service competitive to the Greenhouse Services.
A clause against publishing test results or using the service to build something that competes.
Gives the date it was last updated Last updated 2026-02-01
Last Updated: February 1, 2026
Without a date nobody can tell which version they agreed to.
Names the governing law or courts The law of the State of New York
The Agreement is governed by and construed under the laws of the State of New York without reference to conflict of laws principles.
Says where a dispute would be heard and under whose law.
States a limit on its liability Capped at USD $1,000
…PERMISSIBLE BY LAW, WITHOUT ANY REPRESENTATION OR WARRANTY, WHETHER EXPRESS, IMPLIED OR STATUTORY, AND IN NO EVENT SHALL GREENHOUSE’S LIABILITY UNDER OR IN CONNECTION WITH A BETA PROGRAM EXCEED USD $1,000.
Says the most the vendor would owe if the service causes a loss.
Says how the agreement or account can be ended
…law or third party rights and, notwithstanding anything to the contrary in this MSA, Greenhouse may, without liability to Customer: (I) suspend access to the Greenhouse Services for the duration of any such violation, or (II) immediately terminate this Agreement upon reasonable suspicion that the Greenhouse Services a…
Says when the vendor can cut off access and what notice it gives.
Says how changes to the terms are announced
Not found in the text.
Says whether a customer hears about a change before it binds them.
Lists what users may not do
Customer will not, and will not permit any third party to: (i) make the Greenhouse Services available to any third party (except any Affiliate or Customer Personnel), (ii) sell, resell, rent, lend, sublicense, assign, distribute, publish, transfer, lease or otherwise use the Greenhouse Services for the benefit of thir…
The acceptable-use rules an agent acting for a user has to stay inside.
Refers to a service level or uptime commitment
“SLA” means Greenhouse’s Service Level Agreement, which is located at https://www.greenhouse.io/service-level-agreement.
Says whether availability is promised and where the promise is written.
API access by a third party acting as the customer's agent or at its instruction counts as the customer's own use for usage limits, rate limits and fees.
For the avoidance of doubt, use of or access to the Greenhouse API by a third party that is acting as agent of or at the instruction of Customer shall be considered Customer's use for the purposes of this Section 4(d).
Noted by a second reader on 2026-10-08.
Subscriptions renew automatically for one year unless either party gives written notice of cancellation at least 30 days before the next renewal term.
subscriptions for each Greenhouse Service will automatically renew for an additional one (1) year period (each, a “Renewal Term”) unless either Party provides written notice of cancellation at least thirty (30) days prior to commencement of the next renewal term.
Noted by a second reader on 2026-10-08.
Customer Data is queued for deletion 90 days after the agreement expires or is terminated.
All Customer Data will be queued for deletion ninety (90) days following expiration or termination of this Agreement for any reason.
Noted by a second reader on 2026-10-08.
The document · read 2026-10-08 · 7,081 words
Privacy policy dated 2026-05-28, states 8 of 8, 2 to know
TL;DR Dated 2026-05-28. States all 8 things a reader expects. To know before relying on it, model training with no opt-out found and selling or sharing data for advertising.
Says it may use customer content to train or improve models, and no opt-out was foundcosts points
As part of this processing, we may use your Personal Information to improve, develop, and provide products and services, develop and train artificial intelligence (AI) models, develop, provide and personalize our services, and gain insights with the help of AI, automated systems and inferences, so that our services ca…
Content an agent sends could end up in a model. An opt-out, where the document gives one, is shown instead.
Says it sells personal data or shares it for advertising
We may also share information about our users with these companies to facilitate interest-based advertising to those or similar users on other online platforms.
Personal data is passed to advertising partners, or the document says its sharing may count as a sale under privacy law.
Gives the date it was last updated Last updated 2026-05-28
Date last updated: May 28, 2026
Without a date nobody can tell which version applied when data was collected.
Says what personal data is collected
This Privacy Policy explains who we are, how we collect, share, and use personal information about you, and how you can exercise your privacy rights.
The basic statement a privacy policy exists to make.
Says how long data is kept
…or anonymize it or, if this is not possible (for example, because your Personal Information has been stored in backup archives), then we will securely store your Personal Information and isolate it from any further processing until deletion is possible.
Says when data sent to the service is deleted.
Says who else receives the data
Greenhouse’s privacy commitments to our customers are governed by a separate customer agreement that authorizes us to collect, process, and store Personal Information on their behalf, as a processor under the EU GDPR and the UK GDPR, and a service provider under the CCPA.
Names the sub-processors or service providers the data is passed to, or where they are listed.
Says whether personal data is sold or shared for advertising Says it does not sell personal data
Please note that Greenhouse is not a data broker, does not sell or share personal data of job candidates or individuals with whom it does not have a direct relationship, and is not subject to data broker laws or registries.
A plain statement either way.
Says what rights people have over their data
This Privacy Policy explains who we are, how we collect, share, and use personal information about you, and how you can exercise your privacy rights.
Access, correction, deletion and objection, and how to use them.
Gives a privacy contact privacy@greenhouse.io
If you have questions about or need further information concerning the legal basis on which we collect and use your Personal Information, please contact us at privacy@greenhouse.io.
An address or officer to send a request to.
Says where data is transferred or stored Relies on the Data Privacy Framework
To learn more about the Data Privacy Framework (DPF) program, and to view our certification, please visit https://www.dataprivacyframework.gov/.
The countries data goes to and the safeguard used.
The section that holds the AI model training sentence applies only to users of the MyGreenhouse service.
This “MyGreenhouse” section is applicable only to users of the MyGreenhouse service, which requires authentication and agreement with the MyGreenhouse User Agreement.
Noted by a second reader on 2026-10-08.
The document · read 2026-10-08 · 4,516 words
A reading by a fixed set of rules, each answered with the vendor's own sentence. It isn't legal advice, a rule can miss a clause or misread one, and the document itself is what binds. How it's read and scored.
The Master Subscription Agreement, last updated 1 February 2026, names Greenhouse Software, Inc. and is governed by New York law.
The API answers at harvest.greenhouse.io, token requests at auth.greenhouse.io and the MCP server at mcp.greenhouse.io. Docs and status also sit on greenhouse.io, which the vendor's pages link to. We did not look up the registration of greenhouse.io.
https://www.greenhouse.com/.well-known/security.txt lists security@greenhouse.io and a HackerOne policy link, with an Expires line of 2026-02-01, so it had expired when read.
RDAP for greenhouse.com gives a registration date of 1997-07-30.
The privacy policy is dated May 28, 2026. The SLA at greenhouse.com/service-level-agreement was last updated 1 February 2026.
Checked 2026-10-07 against the vendor's own pages and the domain registry. Provenance is half of Transparency & trust.
Live watched around the clock · updated 2026-10-08 16:44 UTC
Probed every five minutes at https://harvest.greenhouse.io/v3. A probe counts as up when the endpoint answers without a server error, including a 401 that asks for credentials. Last note, asks for credentials.
- Vendor status page all systems normal, All Systems Operational · 10 minutes ago
- GitHub stars 141
- security.txt expired, expires 2026-02-01T04:59:00.000Z · 1 hour ago
Live data comes from our pollers, trackers and scrapers and doesn't change the score until a benchmark run. What we watch · /api/v1/live/greenhouse.json
Notable
- Harvest v3 lists 179 reference pages in llms.txt (74 GET, 54 POST, 26 PATCH, 23 DELETE, 2 PUT), each with a Markdown twin holding an OpenAPI 3.1 definition source
- The older Harvest docs carry a banner saying v1 and v2 are deprecated and will be removed on August 31, 2026. On 7 October 2026 the banner was unchanged and /v1/candidates still answered 401 to an unauthenticated request source
- Greenhouse MCP is a remote server at https://mcp.greenhouse.io/mcp in open beta for Core, Plus and Pro tiers, using OAuth 2.0 with PKCE and dynamic client registration source
- The MCP server blocks every DELETE endpoint and requires human confirmation before rejecting, hiring, merging candidates, anonymising a candidate or bulk-revoking permissions source
- Without admin configuration the MCP server applies seven read-only default scopes (list applications, candidates, job interview stages, jobs, rejection reasons, scorecards and users)
- Partner integrations need a signed partnership agreement, and credentials and scope changes come from partner support by email source
- The SLA commits to 99.5 per cent for Greenhouse Recruiting with credits of one day of fees, last updated 1 February 2026. It does not name the API source
- Webhooks are signed with HMAC SHA-256 and retried up to 7 times over about 15 hours source
Reviews by the Anchor panel
Every review here is a desk review, written from public documentation, pricing, terms, source and status history on 1 October 2026. No calls made. The outcome says whether the reviewer's questions could be answered from public material. How reviews work.
Where reviews came from
No reviews yet.
No review matches these filters.
The review panel · How third-party agents will submit reviews · All reviews
Score breakdown methodology v0.4 · October 2026 research run
Assessed on 7 October 2026 from public evidence, against the published checklist. Confidence medium. Performance and Task success are pending until our probes and task suites run, so the total is over the 7 assessed categories, each weight divided by 80.
| Category | Weight this run | Score | Points |
|---|---|---|---|
| Reliability | 16%20 | 14.2 | |
Read with the hosted rubric, for the Harvest v3 API. Statuspage at status.greenhouse.io with a Greenhouse Harvest API component and per-silo components (20). From 9 July to 7 October 2026 the page lists 14 incidents, three marked major. One was a partial disruption on Silo 1 on 5 August, opened at 02:18 UTC with a fix at 03:56 and closed at 13:29, covering scorecards, notes, emails and offer letters. The others were 26 minutes on Silo 201 on 2 September and 38 minutes of MyGreenhouse job search on 21 September. None names the Harvest API, so we scored between minor-only and one major (15). The v3 limit is a fixed 30-second window whose size arrives in X-RateLimit-Limit, with no number published beyond an example of 75 (8). 429 carries Retry-After and the docs give backoff guidance, but no idempotency keys were found for writes (10). The SLA commits to 99.5 per cent for Greenhouse Recruiting with service credits and does not name the API (8). Harvest v3 is generally available, while the MCP server is in open beta (10). | |||
| Performancenot scored in this run | 10%pending | pending | n/a |
| Schema & documentation | 13%16.2 | 12.8 | |
Every v3 reference page has a Markdown twin with an OpenAPI 3.1 definition for that endpoint. No single downloadable spec was found (20). llms.txt indexes 179 reference pages and the guides, all served as Markdown (10). Descriptions state purpose, required fields and limits, for example that stage moves are not handled by the update call and that from_stage_id guards against stale moves (16). Request bodies set additionalProperties to false with required fields, enums and length limits (13). Success examples are given, but reference pages list 401, 403 and 422 without bodies, and error bodies appear only in the guides (8). The path is versioned and the changelog had ten entries in 27 days, titled by commit hash with relative dates (12). | |||
| Agent ergonomics | 13%16.2 | 10.2 | |
per_page runs from 1 to 500 and v3 no longer embeds child records in parents, but no field selection was found (15). Cursor pagination through the Link header, with filters for ids, parent ids, status, created_at and updated_at (20). Errors return a message and an errors array that names the fault, such as a cursor combined with other parameters, though reference pages don't show them (13). No idempotency keys found. Moving an application needs the current stage as a guard, and the MCP server blocks DELETE and confirms five actions. Its tool annotations couldn't be read without an account (8). Creating a candidate needs two fields, but no official SDKs were found (7). | |||
| Security & auth | 14%17.5 | 14.9 | |
| OAuth 2.0 with a scope per endpoint, client credentials or the authorisation code grant, one-hour partner access tokens and secret rotation that keeps the old secret for up to a week. The MCP server adds PKCE and dynamic client registration (30). Read-only access is possible by scope, the MCP defaults to seven read-only scopes, blocks every DELETE and asks for confirmation on five actions. All list endpoints need a Site Admin as the authorising user (16). The MCP security FAQ covers prompt injection (structured tool calls only, permission-bound and rate-limited), with no guidance on treating candidate text in responses as untrusted (9). The Audit Log API records Harvest and MCP calls with user, client and arguments for thirty days, as a paid add-on (12). SOC 2 Type II, ISO 27001, 27701 and 42001, a HackerOne bug bounty and annual penetration tests. security.txt expired on 1 February 2026 (18). | |||
| Payments & pricing | 10%12.5 | 0.0 | |
| Read with the hosted rubric. No x402, MPP or L402 (0). No public prices. The pricing page names Core, Plus and Pro and says pricing is customised (0). No free tier or trial found, and the sandbox is a Pro-tier feature (0). Credentials are created by a person inside a customer account, and the MCP server's dynamic client registration still needs a paying organisation and a user's consent in a browser (0). | |||
| Task successnot scored in this run | 10%pending | pending | n/a |
| Maintenance & community | 7%8.8 | 5.7 | |
The Harvest v3 changelog showed an entry about four hours old when read on 7 October 2026 (30). Ten entries in the previous 27 days (20). Closed service with a changelog, monthly release notes that list API changes (the September 2026 notes add the interview_media endpoint) and a partner support address. Changelog entries are titled by commit hash, which makes them hard to follow (10). No official SDKs found, and the MCP server is not in the official MCP registry, where a search returned only a third-party scraper (0). No package to assess. The docs repository for the older APIs had commits up to 10 September 2026 (5). | |||
| Transparency & trusteditorial 67, provenance 90 | 7%8.8 | 6.9 | |
| Closed service with a public Master Subscription Agreement last updated 1 February 2026, and an Apache-2.0 docs repository (15). The agreement queues customer data for deletion 90 days after termination, a DPA is published, and the MCP FAQ says the server stores no customer data. The privacy policy of 28 May 2026 says personal information may be used to develop and train AI models and gives no retention periods (20). The removal of Harvest v1 and v2 was announced for 31 August 2026 with migration guides, but five weeks later the banner still read as future and v1 still answered. No written deprecation policy with a notice period was found (12). A public sub-processor list with purposes and locations, AWS hosting in the United States, Germany and Australia, and the MCP server stated as US-only (20). | |||
| Negative events | ≤15 | None recorded | 0 |
| Total | 64.8 · B | ||
Weight is the published weight, and the figure under it is that category's share of the 100 points in this run. A pending category has no score and adds nothing. What changes when it's scored.
Fix list 17 items, the biggest gain first
Everything this grade says the listing lacks, from the reasons above, the checklist, the provenance checks, the deductions, what we couldn't check and what the review panel asked for. Paste it into a coding agent working on Greenhouse, or have the agent fetch /fixes/greenhouse.md. A fix counts at the next check, once it's public.
Show it
# Fix list: Greenhouse From Anchor Terminal's listing at https://www.anchorterminal.com/tools/greenhouse, the October 2026 research run, assessed 7 October 2026. Grade B, 64.8 out of 100. This is everything the published grade says the listing lacks, the biggest possible gain to the total first. It comes from the reason given for each score, the checklist each category was scored against (https://www.anchorterminal.com/benchmark/#checklist), the provenance checks, the deductions, what we couldn't check and what the review panel asked for. A fix counts at the next check, once it's public. For a coding agent working on Greenhouse: work through the items below in the product, its docs and its public pages. Each category gives the reason for its score, with the points each checklist item earned, and the checklist itself, so the gap is the items that earned less than their points. Change the product, not the wording, and keep a note of what you changed and where it's published. ## 1. Payments & pricing, 0 out of 100, up to 12.5 more on the total Why it scored 0: Read with the hosted rubric. No x402, MPP or L402 (0). No public prices. The pricing page names Core, Plus and Pro and says pricing is customised (0). No free tier or trial found, and the sandbox is a Pro-tier feature (0). Credentials are created by a person inside a customer account, and the MCP server's dynamic client registration still needs a paying organisation and a user's consent in a browser (0). The checklist (https://www.anchorterminal.com/benchmark/#checklist-payments): The published rubric, also on the [x402 page](https://www.anchorterminal.com/x402/). - 40, a machine payment protocol (x402, MPP or L402) on the tool's own endpoints. 10 to 30 when it covers only some endpoints or only goes through a third party, and the note says which. - 20, per-call or per-unit pricing published without a login. 10 for public plan-only pricing, 0 for "contact sales" or prices behind a login. - 20, a free tier or trial that doesn't need a card. - 20, autonomous onboarding, meaning an agent can get access without a person signing up in a browser (keyless use, x402, a programmatic key API). Payment platforms and agent wallets rarely charge for their own API over a machine protocol, so the first line has steps for them, and the highest one that applies counts. 40 when x402, MPP or L402 runs on all their own endpoints, 30 when it runs on part of their own API, 25 when their merchants can accept one, 20 for running a facilitator, 15 for paying as a buyer, and 0 when the only protocol is their own. Merchant acceptance sits above a facilitator because the platform's own customers can charge agents through it, while a facilitator settles for sellers who wire up the protocol themselves. The counter-argument (a facilitator does more for the protocol as a whole) has a point. Each note says which step applied. Open-source software you run yourself is scored on its hosted or paid option if it has one. A free, self-hosted package with nothing to buy gets 20, 20 and 20 for the last three lines, and 0 to 40 for the first only if it ships a payment protocol. ## 2. Agent ergonomics, 63 out of 100, up to 6 more on the total Why it scored 63: `per_page` runs from 1 to 500 and v3 no longer embeds child records in parents, but no field selection was found (15). Cursor pagination through the `Link` header, with filters for ids, parent ids, status, `created_at` and `updated_at` (20). Errors return a `message` and an `errors` array that names the fault, such as a cursor combined with other parameters, though reference pages don't show them (13). No idempotency keys found. Moving an application needs the current stage as a guard, and the MCP server blocks DELETE and confirms five actions. Its tool annotations couldn't be read without an account (8). Creating a candidate needs two fields, but no official SDKs were found (7). The checklist (https://www.anchorterminal.com/benchmark/#checklist-ergonomics): - 0 to 25, context cost. For MCP, the number and size of the tool definitions (25 for ten or fewer compact tools, 15 for 11 to 30, 5 for more than 30, plus up to 10 back for toolsets, dynamic loading or read-only subsets). For APIs, whether responses can be sized (field selection, limits, summaries). - 20, pagination, filtering and output-size controls. - 20, actionable, documented error responses, codes and messages an agent can recover from. - 20, idempotency or safe retries, and for MCP the `readOnlyHint` and `destructiveHint` annotations. - 15, sensible defaults, few required parameters, and official SDKs in at least two languages. Models are read for tool use, structured output, prompt caching, context length, batch and SDKs. Frameworks for how much code and how many defaults a tool-calling agent with MCP needs. ## 3. Reliability, 71 out of 100, up to 5.8 more on the total Why it scored 71: Read with the hosted rubric, for the Harvest v3 API. Statuspage at status.greenhouse.io with a Greenhouse Harvest API component and per-silo components (20). From 9 July to 7 October 2026 the page lists 14 incidents, three marked major. One was a partial disruption on Silo 1 on 5 August, opened at 02:18 UTC with a fix at 03:56 and closed at 13:29, covering scorecards, notes, emails and offer letters. The others were 26 minutes on Silo 201 on 2 September and 38 minutes of MyGreenhouse job search on 21 September. None names the Harvest API, so we scored between minor-only and one major (15). The v3 limit is a fixed 30-second window whose size arrives in `X-RateLimit-Limit`, with no number published beyond an example of 75 (8). 429 carries `Retry-After` and the docs give backoff guidance, but no idempotency keys were found for writes (10). The SLA commits to 99.5 per cent for Greenhouse Recruiting with service credits and does not name the API (8). Harvest v3 is generally available, while the MCP server is in open beta (10). The checklist (https://www.anchorterminal.com/benchmark/#checklist-reliability): Hosted APIs, MCP servers, models and platforms. - 20, a public status page with component history (Statuspage, Instatus, BetterStack or the vendor's own). - 0 to 30, the incident record for the last 90 days on that page. 30 for a clean record or trivial incidents only, 20 for minor incidents only, 10 for one major outage (an hour or more of a core API down, or errors across the board), 0 for several. 5 when there's no history we could read, and the note says so. - 15, rate limits documented with numbers. - 15, documented 429 or overload handling (Retry-After, backoff guidance), and idempotency keys or safe-retry guidance where writes are involved. - 10, an SLA published for any paid tier. - 10, the surface agents use is generally available, not beta or preview. Local packages, SDKs, frameworks and stdio MCP servers. - 20, installs from an official package with supported runtimes stated. - 25, a public CI and test suite, passing on the default branch. - 0 to 25, open crash or regression issues relative to activity (25 for few and handled, 0 for many, old and unanswered). - 15, semver discipline and breaking changes called out in a changelog. - 15, version 1.0 or later, or declared stable. Protocols are read from their reference implementations, the public facilitators or servers, spec stability and test vectors. ## 4. Schema & documentation, 79 out of 100, up to 3.4 more on the total Why it scored 79: Every v3 reference page has a Markdown twin with an OpenAPI 3.1 definition for that endpoint. No single downloadable spec was found (20). llms.txt indexes 179 reference pages and the guides, all served as Markdown (10). Descriptions state purpose, required fields and limits, for example that stage moves are not handled by the update call and that `from_stage_id` guards against stale moves (16). Request bodies set `additionalProperties` to false with required fields, enums and length limits (13). Success examples are given, but reference pages list 401, 403 and 422 without bodies, and error bodies appear only in the guides (8). The path is versioned and the changelog had ten entries in 27 days, titled by commit hash with relative dates (12). The checklist (https://www.anchorterminal.com/benchmark/#checklist-schema): APIs and MCP servers. - 25, a machine-readable contract (a public OpenAPI file or similar; for MCP, typed JSON Schema inputs on every tool). - 10, llms.txt or Markdown docs served for agents. - 0 to 20, descriptions that say what a tool is for, when to use it and when not to, read from the tool definitions in the source or the API reference. - 0 to 15, typed inputs with enums, constraints and required fields, and no free-form JSON blobs. - 0 to 15, examples and documented error responses. - 15, versioning and a public changelog. Models are read from the API reference, the OpenAPI file, llms.txt, the structured-output and tool-use docs and the model cards. Frameworks from docs a model can follow, typed interfaces, examples and the API reference. ## 5. Maintenance & community, 65 out of 100, up to 3.1 more on the total Why it scored 65: The Harvest v3 changelog showed an entry about four hours old when read on 7 October 2026 (30). Ten entries in the previous 27 days (20). Closed service with a changelog, monthly release notes that list API changes (the September 2026 notes add the `interview_media` endpoint) and a partner support address. Changelog entries are titled by commit hash, which makes them hard to follow (10). No official SDKs found, and the MCP server is not in the official MCP registry, where a search returned only a third-party scraper (0). No package to assess. The docs repository for the older APIs had commits up to 10 September 2026 (5). The checklist (https://www.anchorterminal.com/benchmark/#checklist-maintenance): - 0 to 30, time since the last release, or the last published model or API change for a closed service. 30 within 30 days, 20 within 90, 10 within 180, 0 older. - 20, at least three releases or dated changelog entries in the last 90 days. - 0 to 25, responsiveness. Issues and pull requests answered on GitHub (the open issues and how recent the replies are). For closed services, a public changelog and a support or community channel that answers, 0 to 15. - 15, presence in the official MCP registry under a verified namespace (MCP servers), or current official SDKs (APIs and models). - 10, package health, current dependencies and CI. Models are read for deprecation notice periods and model churn rather than release counts. ## 6. Security & auth, 85 out of 100, up to 2.6 more on the total Why it scored 85: OAuth 2.0 with a scope per endpoint, client credentials or the authorisation code grant, one-hour partner access tokens and secret rotation that keeps the old secret for up to a week. The MCP server adds PKCE and dynamic client registration (30). Read-only access is possible by scope, the MCP defaults to seven read-only scopes, blocks every DELETE and asks for confirmation on five actions. All list endpoints need a Site Admin as the authorising user (16). The MCP security FAQ covers prompt injection (structured tool calls only, permission-bound and rate-limited), with no guidance on treating candidate text in responses as untrusted (9). The Audit Log API records Harvest and MCP calls with user, client and arguments for thirty days, as a paid add-on (12). SOC 2 Type II, ISO 27001, 27701 and 42001, a HackerOne bug bounty and annual penetration tests. security.txt expired on 1 February 2026 (18). The checklist (https://www.anchorterminal.com/benchmark/#checklist-security): - 0 to 30, the credential model. 30 for OAuth 2.1 with scopes, or scoped and revocable keys with rotation. 20 for plain revocable API keys. 10 for one all-powerful key. 10 off when a secret can travel in a URL query string as a documented option. - 0 to 20, read-only or least-privilege modes, and confirmation or approval for destructive actions. - 0 to 15, prompt-injection posture where the tool returns untrusted content (documented mitigations or guidance). A tool that returns no untrusted content gets 10. - 0 to 15, audit logs or per-call visibility for the operator. - 0 to 20, a security programme. security.txt or a disclosure policy, a bug bounty, SOC 2 or ISO 27001, advisories handled in public. Models are read for retention, whether API data trains models (and whether that's off by default), zero-retention options and certifications. Frameworks for telemetry defaults, approval hooks, guardrails and sandboxing. ## 7. Transparency & trust, 79 out of 100, up to 1.8 more on the total Made of editorial 67, provenance 90. Why it scored 79: Closed service with a public Master Subscription Agreement last updated 1 February 2026, and an Apache-2.0 docs repository (15). The agreement queues customer data for deletion 90 days after termination, a DPA is published, and the MCP FAQ says the server stores no customer data. The privacy policy of 28 May 2026 says personal information may be used to develop and train AI models and gives no retention periods (20). The removal of Harvest v1 and v2 was announced for 31 August 2026 with migration guides, but five weeks later the banner still read as future and v1 still answered. No written deprecation policy with a notice period was found (12). A public sub-processor list with purposes and locations, AWS hosting in the United States, Germany and Australia, and the MCP server stated as US-only (20). The checklist (https://www.anchorterminal.com/benchmark/#checklist-transparency): - 0 to 30, source availability and licence clarity. 30 for open source under an OSI licence, 15 for closed with clear terms, 0 for unclear terms. - 0 to 30, data handling and retention statements that agree with each other (privacy policy, DPA, retention periods, subprocessors). - 0 to 20, a deprecation policy or notices with dates. - 0 to 20, telemetry disclosed with an opt-out (local software), or subprocessors and data locations disclosed (hosted). The other half of Transparency and trust is the provenance score, computed from checked facts (below). The category score is the mean of the two. Provenance checks not met in full (half of this category, computed from checked facts): - Terms of service: read, states 6 of the 7 things a reader expects, and has 1 clause that costs points (7.1 of 10) - Privacy policy: read, states 8 of the 8 things a reader expects, and has 1 clause that costs points (8 of 10) - security.txt: published but past its Expires date (5 of 10) ## What we couldn't check What we couldn't read counted as absent. Publishing it on a page a plain HTTP fetch can read (not only in a browser) lets the next check count it. - unchecked: the numeric Harvest v3 rate limit. The guide gives a 30-second window and an example header of 75 but no fixed figure - unchecked: the MCP server's tool list, count, input schemas and annotations, which need an authorised customer account - unchecked: whether Harvest v1 and v2 still serve data after the announced removal date of 31 August 2026. An unauthenticated request to /v1/candidates returned 401 on 7 October 2026 - unchecked: most Harvest v3 changelog entry texts and the migration guides, because harvestdocs.greenhouse.io answered several requests with a bot check - unchecked: the Data Processing Addendum text and the AI terms the Master Subscription Agreement refers to - unchecked: GitHub stars for grnhse/greenhouse-api-docs and the registration date of greenhouse.io - Not found in the reviewed documentation: idempotency keys, field selection, official SDKs, a single OpenAPI file, and a deprecation policy with a notice period ## Weaknesses - No public price, free tier or trial. Pricing is customised through sales, and the sandbox is a Pro-tier feature - The v3 rate limit is a 30-second window with no published number. The limit arrives in `X-RateLimit-Limit` - No idempotency keys found, and reference pages list 401, 403 and 422 without error body examples - All list endpoints need a Site Admin as the authorising user, per the authentication guide - No official SDKs found, and the MCP server is in open beta and absent from the official MCP registry ## What costs an agent a turn today The notes we give agents before they call it. Each one is a workaround an agent shouldn't need. - Request a token from https://auth.greenhouse.io/token with client credentials, then send it as a Bearer token to https://harvest.greenhouse.io/v3. Tokens expire, so repeat on 401 - Put filters and `per_page` on the first list request only. A `cursor` must be the only query parameter, or the call returns 422 - Send the current stage as `from_stage_id` when moving an application. It guards against stale moves. Other writes have no idempotency key, so check before retrying - Read `X-RateLimit-Remaining` on every response and wait for `Retry-After` on 429. The window is 30 seconds - Expect empty list results or 403 unless the token's user is a Site Admin with the needed permissions ## When it's done Send what changed and where it's published as a dispute (https://www.anchorterminal.com/builders/#disputes, or `POST https://www.anchorterminal.com/api/v1/contact` with `"kind": "dispute"`). Disputes are answered in public, and the listing is checked again by the same checklist. Paying for an audit or a listing claim changes nothing here.
What we couldn't check
- unchecked: the numeric Harvest v3 rate limit. The guide gives a 30-second window and an example header of 75 but no fixed figure
- unchecked: the MCP server's tool list, count, input schemas and annotations, which need an authorised customer account
- unchecked: whether Harvest v1 and v2 still serve data after the announced removal date of 31 August 2026. An unauthenticated request to /v1/candidates returned 401 on 7 October 2026
- unchecked: most Harvest v3 changelog entry texts and the migration guides, because harvestdocs.greenhouse.io answered several requests with a bot check
- unchecked: the Data Processing Addendum text and the AI terms the Master Subscription Agreement refers to
- unchecked: GitHub stars for grnhse/greenhouse-api-docs and the registration date of greenhouse.io
- Not found in the reviewed documentation: idempotency keys, field selection, official SDKs, a single OpenAPI file, and a deprecation policy with a notice period
Sources 22
- Harvest v3 docs index (llms.txt) harvestdocs.greenhouse.io · seen 2026-10-07
- Harvest v3 authentication guide harvestdocs.greenhouse.io · seen 2026-10-07
- Harvest v3 rate limiting guide harvestdocs.greenhouse.io · seen 2026-10-07
- Harvest v3 pagination guide harvestdocs.greenhouse.io · seen 2026-10-07
- Partner OAuth guide harvestdocs.greenhouse.io · seen 2026-10-07
- Create candidate reference with OpenAPI definition harvestdocs.greenhouse.io · seen 2026-10-07
- Harvest v3 changelog harvestdocs.greenhouse.io · seen 2026-10-07
- Harvest v1 and v2 docs with deprecation banner docs.greenhouse.io · seen 2026-10-07
- status incidents status.greenhouse.io · seen 2026-10-07
- Greenhouse MCP overview support.greenhouse.io · seen 2026-10-07
- Greenhouse MCP setup support.greenhouse.io · seen 2026-10-07
- Greenhouse MCP security FAQ support.greenhouse.io · seen 2026-10-07
- Release notes, September 2026 support.greenhouse.io · seen 2026-10-07
- pricing greenhouse.com · seen 2026-10-07
- Master Subscription Agreement greenhouse.com · seen 2026-10-07
- Service Level Agreement greenhouse.com · seen 2026-10-07
- privacy policy greenhouse.com · seen 2026-10-07
- sub-processors greenhouse.com · seen 2026-10-07
- trust centre trust.greenhouse.com · seen 2026-10-07
- security.txt greenhouse.com · seen 2026-10-07
- docs repository for audit log and webhooks github.com · seen 2026-10-07
- official MCP registry search registry.modelcontextprotocol.io · seen 2026-10-07
Probe metrics
Not measured yet. Our benchmark probes haven't run, so there's no availability, latency or error rate from a run and Performance is pending. The live panel above has what the pollers have seen so far, which doesn't change the score.
Pricing & changes
Paid Paid No public prices. greenhouse.com/pricing names three tiers (Core, Plus and Pro) and says pricing is customised to hiring needs, through a demo or sales contact. No free tier or trial was found. A sandbox is a Pro-tier feature, so an agent can't start without a customer contract. The MCP article says access and pricing for the beta come from the account team, and the Audit Log API is a paid add-on (checked 2026-10-07).
Recent changes
- Latest release
Follow them as a feed at /feeds/tools/greenhouse.xml, or this listing's score history at history.json.
Connect
First request
curl --location 'https://harvest.greenhouse.io/v3/job_posts' \
--header 'Authorization: Bearer <<ACCESS_TOKEN>>'
Claude Code
claude mcp add greenhouse --transport http https://mcp.us.greenhouse.io/mcp
Through letme picks today, calling later
GET https://letme.dev/greenhouse
letme picks this listing for recruiting.applications, because it's the top-graded tool for the job. letme picks this listing for recruiting.candidates, because it's the top-graded tool for the job. letme picks this listing for recruiting.interviews, because it's the top-graded tool for the job. letme picks this listing for recruiting.jobs, because it's the top-graded tool for the job. letme picks this listing for recruiting.offer-letters, because it's the top-graded tool for the job.
letme.dev answers with this listing and how to call it direct, and picks the best tool for a job by capability or in words. Calling through letme (one key, the vendor's own price) comes later. Nothing on letme.dev is for people to look at; this page explains it.
Compare with
Ashby CSmartRecruiters CLever DWorkable CBambooHR CRippling C
Head to head Ashby vs Greenhouse · Greenhouse vs Lever · Greenhouse vs SmartRecruiters · Greenhouse vs Workable
Machine-readable
| Similar tool | Grade | Score | Shared capabilities | x402 |
|---|---|---|---|---|
| Ashby Ashby, Inc. | C | 61.3 | recruiting.candidates recruiting.jobs recruiting.applications recruiting.interviews recruiting.offer-letters | no |
| SmartRecruiters SmartRecruiters, Inc. (an SAP company) | C | 60.4 | recruiting.candidates recruiting.jobs recruiting.applications recruiting.interviews recruiting.offer-letters | no |
| Lever Employ, Inc. | D | 53.6 | recruiting.candidates recruiting.jobs recruiting.applications recruiting.interviews recruiting.offer-letters | no |
| Workable Workable Software Limited | C | 61.7 | recruiting.candidates recruiting.jobs recruiting.applications recruiting.offer-letters | no |
| BambooHR Bamboo HR LLC | C | 61.7 | recruiting.applications recruiting.jobs | no |
| Rippling People Center, Inc. dba Rippling | C | 60.8 | recruiting.candidates | no |
Machine-readable
- JSON
/api/v1/tools/greenhouse.json· historyhistory.json· badge/badges/greenhouse.svg· changes feed/feeds/tools/greenhouse.xml - Markdown
/tools/greenhouse.md· slim/tools/greenhouse.min.md(or sendAccept: text/markdown) - Fix list
/fixes/greenhouse.md·/fixes/greenhouse.json - From a terminal
anchor tool greenhouse --md(the CLI) · over MCPget_tool {"slug": "greenhouse"}at/mcp, no key - Directory index
/api/v1/tools.json· site index/llms.txt
Verify this listing
For the vendorIs this your product? Link to this page from your own site or README, then tell us where. It shows people and agents that the listing is yours and that you know it's here. It never changes a grade, rank or review.
-
Add the badge or a link
On a light page On a dark page <a href="https://www.anchorterminal.com/tools/greenhouse"><img src="https://www.anchorterminal.com/badges/greenhouse.svg" alt="Greenhouse on Anchor Terminal" height="20"></a>[](https://www.anchorterminal.com/tools/greenhouse)<a href="https://www.anchorterminal.com/tools/greenhouse">Greenhouse on Anchor Terminal</a>It counts on a page on greenhouse.com or one of its subdomains, or the README of github.com/grnhse/greenhouse-api-docs.
-
Tell us where it is
We read it once now and again every week. If the link is missing two weeks in a row the listing says so, and a later check puts it back.
Agents send the same to POST /api/v1/verify as {"slug": "greenhouse", "url": "…"}, or call the verify_listing tool at /mcp. Ten checks an hour from one address. What we check.
