{
  "data": {
    "a": {
      "slug": "bullhorn",
      "name": "Bullhorn",
      "vendor": "Bullhorn, Inc.",
      "vendorUrl": "https://www.bullhorn.com",
      "kind": "http-api",
      "category": "recruiting",
      "summary": "Applicant tracking and CRM software for staffing and recruitment agencies from Bullhorn, Inc. in Boston. Its REST API reads and writes candidates, job orders, submissions, placements and notes with OAuth 2.0, under credentials Bullhorn issues to customers and contracted partners.",
      "url": "https://www.anchorterminal.com/tools/bullhorn",
      "markdownUrl": "https://www.anchorterminal.com/tools/bullhorn.md",
      "slimMarkdownUrl": "https://www.anchorterminal.com/tools/bullhorn.min.md",
      "jsonUrl": "https://www.anchorterminal.com/api/v1/tools/bullhorn.json",
      "repo": "https://github.com/bullhorn/rest-api-docs",
      "license": "Proprietary service under a Bullhorn customer or partner agreement that is not published, with a public API Fair Use Policy. The `sdk-rest` Java library and the `@bullhorn/taurus` and `@bullhorn/bullhorn-types` packages are MIT per npm and the repositories",
      "transports": [
        "http"
      ],
      "remoteUrl": "https://rest.bullhornstaffing.com/rest-services",
      "packages": [
        {
          "registry": "npm",
          "name": "@bullhorn/taurus"
        },
        {
          "registry": "npm",
          "name": "@bullhorn/bullhorn-types"
        }
      ],
      "auth": "oauth",
      "authNotes": "Access is granted by Bullhorn, not self-serve. A customer asks for OAuth keys (client ID, client secret, redirect URI) through a support ticket. A vendor building for customers must sign the API Access Agreement, pay an annual platform fee and pass a security assessment before getting a sandbox. The flow is the OAuth 2.0 authorisation code grant at `auth-{dc}.bullhornstaffing.com`, a ten-minute access token and a rotating refresh token, then `POST /rest-services/login` for a `BhRestToken` session sent as a header, cookie or query parameter. No scopes were found. The API Fair Use Policy requires Bullhorn's explicit written permission before the API is connected to third-party AI or LLM tools or MCP.",
      "pricing": "paid",
      "pricingNotes": "Bullhorn Starter is $99 and Bullhorn Core $165 per user per month, and Pro, Max and the plans for larger agencies are quoted. No free trial. API access for integrators is an annual platform fee, not published, covering a sandbox and 200,000 calls a month with overage charges. No sandbox or free tier lets an agent start without a contract (checked 2026-10-08).",
      "priceSummary": "$99 / seat-mo",
      "where": "hosted",
      "x402": {
        "level": "no",
        "evidence": "No x402, MPP or L402 in the REST API reference, the getting started guide, the API Fair Use Policy or the pricing pages (checked 2026-10-08).",
        "endpoints": []
      },
      "toolCount": null,
      "popularity": {
        "githubStars": 13,
        "npmWeekly": 1728,
        "pypiWeekly": null,
        "asOf": "2026-10-08"
      },
      "docsUrl": "https://bullhorn.github.io/rest-api-docs/",
      "capabilities": [
        "recruiting.candidates",
        "recruiting.jobs",
        "recruiting.applications",
        "recruiting.interviews"
      ],
      "tags": [
        "hosted",
        "enterprise",
        "oauth",
        "staffing",
        "java",
        "typescript",
        "partner-approval",
        "sales-led",
        "status-page",
        "soc2"
      ],
      "lastRelease": "2026-09-29",
      "graded": true,
      "anchor": {
        "graded": true,
        "score": 46.7,
        "grade": "D",
        "agentReady": false,
        "rank": 644,
        "ranked": true,
        "rankOf": 722,
        "categoryRank": 10,
        "methodology": "0.4",
        "run": "2026-10-01",
        "scores": {
          "ergonomics": 64,
          "maintenance": 56,
          "payments": 5,
          "reliability": 53,
          "schema": 55,
          "security": 31,
          "transparency": 67
        },
        "pending": [
          "performance",
          "tasks"
        ],
        "assessment": {
          "confidence": "medium",
          "date": "2026-10-08"
        },
        "negative": 0,
        "verdict": "The REST API covers 91 documented entities with required field selection, Lucene and JPQL queries and an event queue. Access is by support ticket or a paid partner contract, and the API Fair Use Policy bars connecting third-party AI or LLM tools or MCP without Bullhorn's written permission. No OpenAPI file or numeric rate limit was found.",
        "bestFor": "An integration built for a staffing agency that already runs on Bullhorn, with Bullhorn's permission for AI use in writing, and needs candidates, job orders, submissions and placements.",
        "strengths": [
          "Every read names its `fields`, with nested associations and per-association counts, so responses can be kept small",
          "`/search` takes Lucene queries and `/query` takes JPQL where clauses, with `start` and `count` paging up to 500 records",
          "91 entity reference pages give field names, types and lengths, and `/meta/{entityType}` returns the same model at run time",
          "Java `sdk-rest` 3.0.0 was tagged on 29 September 2026 and `@bullhorn/bullhorn-types` 1.142.0 was published on 28 September 2026",
          "Sub-processor list dated 25 August 2026 names each provider, its location and the Bullhorn services it covers"
        ],
        "weaknesses": [
          "The API Fair Use Policy of 17 December 2025 bars connecting third-party AI or LLM tools, or MCP, without Bullhorn's explicit written permission",
          "Credentials come from a support ticket for customers or a paid annual partner contract with a security assessment. No self-serve key, trial or free sandbox",
          "The documented flow puts the username, password, client secret, access token and `BhRestToken` in URL query strings",
          "No OpenAPI file, no OAuth scopes, no idempotency keys and no numeric rate limit were found in the reviewed documentation",
          "The status page listed 50 incidents from 12 July to 7 October 2026, seven marked major and two critical, with no API component"
        ],
        "agentNotes": [
          "Confirm the customer holds Bullhorn's written permission for AI or LLM access before any call. The API Fair Use Policy forbids it otherwise",
          "Call `/rest-services/loginInfo?username=` first to learn the data centre, then use the returned OAuth and REST URLs and follow any 307 redirect",
          "Log in once and reuse `BhRestToken` until a call returns 401, then use the refresh token. Bullhorn limits login rates and may block frequent logins",
          "Send `BhRestToken` as a header, never in the URL, and always pass `fields`. `fields=*` is blocked outside `/meta`",
          "On 429 wait one second and retry. Writes have no idempotency key, so read the record back before repeating a PUT"
        ],
        "metrics": {
          "kind": "remote",
          "measured": false
        },
        "reviewCount": 0,
        "avgRating": 0,
        "history": [
          {
            "basis": "public evidence",
            "confidence": "medium",
            "grade": "D",
            "methodology": "0.4",
            "pending": [
              "performance",
              "tasks"
            ],
            "run": "2026-10-01",
            "runLabel": "October 2026 research run",
            "score": 46.7
          }
        ],
        "editorialScores": {
          "ergonomics": 64,
          "maintenance": 56,
          "payments": 5,
          "reliability": 53,
          "schema": 55,
          "security": 31,
          "transparency": 51
        },
        "provenanceScore": 82
      },
      "connect": {
        "http": "curl \"https://rest.bullhornstaffing.com/rest-services/loginInfo?username={API_Username}\""
      },
      "letme": {
        "capability": "https://letme.dev/recruiting.candidates",
        "tool": "https://letme.dev/bullhorn"
      },
      "area": "business",
      "unitPrices": [
        {
          "item": "Bullhorn Starter, per user",
          "unit": "seat-month",
          "usd": 99,
          "note": "Small agency plan. API keys are issued separately by Bullhorn"
        },
        {
          "item": "Bullhorn Core, per user",
          "unit": "seat-month",
          "usd": 165,
          "note": "Small agency plan with the app marketplace"
        }
      ],
      "provenance": {
        "legalEntity": "Bullhorn, Inc.",
        "domain": "bullhorn.com",
        "domainRegistered": "1997-07-31",
        "endpointOnVendorDomain": true,
        "terms": "https://bullhorn.github.io/api-fair-use-policy/",
        "privacy": "https://www.bullhorn.com/privacy/",
        "statusPage": "https://status.bullhorn.com",
        "changelog": "https://bullhorn.github.io/rest-api-docs/changelog.html",
        "securityTxt": "none",
        "checked": "2026-10-08",
        "notes": [
          "The terms link is the API Fair Use Policy, dated December 17, 2025, which governs use of Bullhorn's APIs and supplements the customer or partner agreement. The Master Subscription Agreement and the API Access Agreement are not published. www.bullhorn.com/legal is a website terms page and www.bullhorn.com/legal-terms links only to product supplements.",
          "The privacy policy, effective 20 May 2026, names Bullhorn, Inc. and its group companies and says it applies to the service platform at www.bullhornstaffing.com as well as the website.",
          "The API answers at rest.bullhornstaffing.com and auth-{dc}.bullhornstaffing.com. RDAP gives bullhornstaffing.com a registration date of 2000-12-11 and bullhorn.com 1997-07-31. The developer docs are on bullhorn.github.io, linked from www.bullhorn.com/llms.txt.",
          "https://www.bullhorn.com/.well-known/security.txt redirects to the home page, so no security.txt was found.",
          "The site footer and the developer site give the address 100 Summer Street, 17th Floor, Boston, MA 02210."
        ],
        "score": 82
      },
      "pageJsonUrl": "https://www.anchorterminal.com/tools/bullhorn.json",
      "live": {
        "slug": "bullhorn",
        "probe": {
          "target": "https://rest.bullhornstaffing.com/rest-services",
          "method": "get",
          "lastAt": "2026-10-08T21:12:06.783475466Z",
          "lastOk": true,
          "lastStatus": 400,
          "lastMs": 46,
          "authRequired": false,
          "uptime24h": 100,
          "uptime30d": 100,
          "p50ms24h": 47,
          "p95ms24h": 86,
          "samples24h": 21,
          "samples30d": 21,
          "days": [
            {
              "date": "2026-10-08",
              "probes": 21,
              "ok": 21
            }
          ]
        },
        "vendorStatus": {
          "page": "https://status.bullhorn.com",
          "indicator": "maintenance",
          "summary": "Service Under Maintenance",
          "checkedAt": "2026-10-08T21:05:53.268612652Z"
        },
        "updatedAt": "2026-10-08T21:12:06.783475466Z"
      }
    },
    "answer": "SmartRecruiters scores 60.4 (C) on agent readiness against Bullhorn's 46.7 (D), and leads in 6 of 7 scored categories. Bullhorn leads on agent ergonomics.",
    "b": {
      "slug": "smartrecruiters",
      "name": "SmartRecruiters",
      "vendor": "SmartRecruiters, Inc. (an SAP company)",
      "vendorUrl": "https://www.smartrecruiters.com",
      "kind": "http-api",
      "category": "recruiting",
      "summary": "Applicant tracking and recruiting platform from SmartRecruiters, an SAP company. Its Customer API covers jobs, candidates, applications, interviews, offer records, reports and webhooks over REST, with API key or OAuth 2.0 access for customers and approved partners.",
      "url": "https://www.anchorterminal.com/tools/smartrecruiters",
      "markdownUrl": "https://www.anchorterminal.com/tools/smartrecruiters.md",
      "slimMarkdownUrl": "https://www.anchorterminal.com/tools/smartrecruiters.min.md",
      "jsonUrl": "https://www.anchorterminal.com/api/v1/tools/smartrecruiters.json",
      "license": "Proprietary service under the SmartRecruiters Master Subscription Agreement",
      "transports": [
        "http"
      ],
      "remoteUrl": "https://api.smartrecruiters.com",
      "packages": [],
      "auth": "mixed",
      "authNotes": "Access is granted by a paying customer's administrator, who creates an API key or an OAuth client ID in Credential Manager. The API key goes in the `X-SmartToken` header, has full access to company data and doesn't expire. OAuth 2.0 client credentials are limited by 49 scopes, a system role and an optional access group, and their access tokens last 1,799 seconds. Partners distributing an app to all customers use the authorisation code grant, and new partner integrations are managed through the SAP PartnerEdge Build programme. The Posting API needs no credential.",
      "pricing": "paid",
      "pricingNotes": "No free tier, trial or self-serve signup found, so an agent can't start without a customer contract. The pricing page lists Essential \"starting at $14,995\" with no billing period stated, and Professional, High Volume and Complete on request. No separate API charge is published. Sandbox Management is listed as a product and Advanced Sandbox sits in the Complete plan. Only the Posting API, which returns published jobs, works without an account.",
      "priceSummary": "Paid",
      "where": "hosted",
      "x402": {
        "level": "no",
        "evidence": "No x402, MPP or L402 in the developer docs, llms.txt or the pricing page (checked 2026-10-07).",
        "endpoints": []
      },
      "toolCount": null,
      "popularity": {
        "githubStars": null,
        "npmWeekly": null,
        "pypiWeekly": null,
        "asOf": "2026-10-07"
      },
      "docsUrl": "https://developers.smartrecruiters.com",
      "llmsTxt": "https://developers.smartrecruiters.com/llms.txt",
      "openapi": "https://developers.smartrecruiters.com/page/swagger",
      "capabilities": [
        "recruiting.candidates",
        "recruiting.jobs",
        "recruiting.applications",
        "recruiting.interviews",
        "recruiting.offer-letters"
      ],
      "tags": [
        "hosted",
        "enterprise",
        "oauth",
        "api-key",
        "openapi",
        "llms-txt",
        "webhooks",
        "sales-led",
        "status-page",
        "soc2",
        "closed-source"
      ],
      "lastRelease": "2026-10-05",
      "graded": true,
      "anchor": {
        "graded": true,
        "score": 60.4,
        "grade": "C",
        "agentReady": false,
        "rank": 403,
        "ranked": true,
        "rankOf": 722,
        "categoryRank": 5,
        "methodology": "0.4",
        "run": "2026-10-01",
        "scores": {
          "ergonomics": 51,
          "maintenance": 58,
          "payments": 8,
          "reliability": 78,
          "schema": 75,
          "security": 65,
          "transparency": 79
        },
        "pending": [
          "performance",
          "tasks"
        ],
        "assessment": {
          "confidence": "medium",
          "date": "2026-10-07"
        },
        "negative": 0,
        "verdict": "OAuth client credentials limited by 49 scopes, a system role and an access group, with per-operation OpenAPI definitions, llms.txt and a dated changelog. Access needs a paid SmartRecruiters account, with the lowest plan starting at $14,995, and no free tier, official SDK or idempotency key was found.",
        "bestFor": "An agent working inside a company that already runs SmartRecruiters, for reading jobs and candidates, adding candidates, moving applications between stages, creating interviews and pulling reports.",
        "strengths": [
          "OAuth 2.0 client credentials with 49 scopes, a system role and an optional access group. Access tokens last 1,799 seconds",
          "Every reference page is served as Markdown with an OpenAPI 3.0.1 definition, indexed by a 511-line llms.txt",
          "Limits are published. 10 requests a second and 8 concurrent per credential, with X-RateLimit headers on every response",
          "Written policy of at least 10 months' notice before an endpoint is sunset, and 24 months of support for earlier versions",
          "Audit API with at least 26 months of retention, and 54 webhook events with optional HMAC SHA256 signatures"
        ],
        "weaknesses": [
          "No free tier, trial or self-serve signup found. The Essential plan starts at $14,995 and the other three plans are quoted on request",
          "No idempotency keys in the reference pages we read, so a create retried after a timeout can duplicate a candidate or interview",
          "No official SDK, and the vendor's MCP page says the MCP server isn't supported for the public API",
          "An API key has full access to company data with no scopes and no expiry",
          "Offer endpoints are read-only, and new partner apps now go through the SAP PartnerEdge Build programme"
        ],
        "agentNotes": [
          "Ask the customer's admin for an OAuth client ID with only the scopes needed. An API key reads and writes all company data and never expires",
          "Exchange the client ID and secret at https://api.smartrecruiters.com/identity/oauth/token and refresh every 30 minutes",
          "Stay under 10 requests a second and 8 concurrent. `GET /candidates` allows 1 concurrent request, and job publication 2 a second",
          "Move a candidate with `PUT /candidates/{id}/jobs/{jobId}/status`. The variants without `jobId` act on the most recently updated application",
          "Page with `limit` (maximum 100, default 10) and `pageId` from `nextPageId`. Use the Reporting API for bulk reads, which returns CSV"
        ],
        "metrics": {
          "kind": "remote",
          "measured": false
        },
        "reviewCount": 0,
        "avgRating": 0,
        "history": [
          {
            "basis": "public evidence",
            "confidence": "medium",
            "grade": "C",
            "methodology": "0.4",
            "pending": [
              "performance",
              "tasks"
            ],
            "run": "2026-10-01",
            "runLabel": "October 2026 research run",
            "score": 60.4
          }
        ],
        "editorialScores": {
          "ergonomics": 51,
          "maintenance": 58,
          "payments": 8,
          "reliability": 78,
          "schema": 75,
          "security": 65,
          "transparency": 75
        },
        "provenanceScore": 82
      },
      "connect": {
        "http": "curl https://api.smartrecruiters.com/identity/oauth/token \\\n  -X POST \\\n  -H 'Content-Type: application/x-www-form-urlencoded' \\\n  -d \"client_id=$SMARTRECRUITERS_CLIENT_ID\" \\\n  -d \"client_secret=$SMARTRECRUITERS_CLIENT_SECRET\" \\\n  -d 'grant_type=client_credentials'"
      },
      "letme": {
        "capability": "https://letme.dev/recruiting.candidates",
        "tool": "https://letme.dev/smartrecruiters"
      },
      "area": "business",
      "provenance": {
        "legalEntity": "SmartRecruiters, Inc.",
        "domain": "smartrecruiters.com",
        "domainRegistered": "2005-11-20",
        "endpointOnVendorDomain": true,
        "terms": "https://www.smartrecruiters.com/legal/terms-and-conditions/",
        "privacy": "https://www.smartrecruiters.com/legal/general-privacy-policy/",
        "statusPage": "https://status.smartrecruiters.com",
        "changelog": "https://developers.smartrecruiters.com/changelog",
        "securityTxt": "none",
        "checked": "2026-10-07",
        "notes": [
          "The privacy notice names SmartRecruiters, Inc. as owner and data controller and was last updated on 2 March 2026. The site footer reads \"SmartRecruiters, part of SAP SuccessFactors\".",
          "The Master Subscription Agreement is version 15 November 2024 and is governed by Delaware law where the contracting entity is SmartRecruiters, Inc. Earlier versions back to 2017 are archived on the legal page.",
          "The sub-processor list gives SmartRecruiters GmbH's address as c/o SAP SE, Dietmar-Hopp-Allee 16, Walldorf.",
          "www.smartrecruiters.com/.well-known/security.txt returns 404, and the same path on developers.smartrecruiters.com returns a docs page.",
          "Domain registration date from Verisign RDAP. The API answers at api.smartrecruiters.com."
        ],
        "score": 82
      },
      "pageJsonUrl": "https://www.anchorterminal.com/tools/smartrecruiters.json",
      "live": {
        "slug": "smartrecruiters",
        "probe": {
          "target": "https://api.smartrecruiters.com",
          "method": "get",
          "lastAt": "2026-10-08T21:12:21.791608836Z",
          "lastOk": true,
          "lastStatus": 200,
          "lastMs": 417,
          "authRequired": false,
          "uptime24h": 100,
          "uptime30d": 100,
          "p50ms24h": 527,
          "p95ms24h": 916,
          "samples24h": 64,
          "samples30d": 64,
          "days": [
            {
              "date": "2026-10-08",
              "probes": 64,
              "ok": 64
            }
          ]
        },
        "vendorStatus": {
          "page": "https://status.smartrecruiters.com",
          "indicator": "none",
          "summary": "All Systems Operational",
          "checkedAt": "2026-10-08T21:06:26.245688947Z"
        },
        "securityTxt": {
          "url": "https://smartrecruiters.com/.well-known/security.txt",
          "state": "none",
          "checkedAt": "2026-10-08T15:38:41.34049374Z"
        },
        "pages": [
          {
            "url": "https://developers.smartrecruiters.com/changelog",
            "kind": "changelog",
            "status": 200,
            "checkedAt": "2026-10-08T18:18:00.750311713Z",
            "changedAt": "0001-01-01T00:00:00Z",
            "fingerprint": "b7e88795862c"
          },
          {
            "url": "https://www.smartrecruiters.com/legal/general-privacy-policy/",
            "kind": "privacy",
            "status": 200,
            "checkedAt": "2026-10-08T18:30:31.713164865Z",
            "changedAt": "0001-01-01T00:00:00Z",
            "fingerprint": "95c7ac886657"
          },
          {
            "url": "https://www.smartrecruiters.com/legal/terms-and-conditions/",
            "kind": "terms",
            "status": 200,
            "checkedAt": "2026-10-08T18:30:33.808646421Z",
            "changedAt": "0001-01-01T00:00:00Z",
            "fingerprint": "65267278e615"
          }
        ],
        "updatedAt": "2026-10-08T21:12:21.791608836Z"
      }
    },
    "facts": [
      {
        "a": "HTTP API",
        "b": "HTTP API",
        "name": "Kind"
      },
      {
        "a": "Bullhorn, Inc.",
        "b": "SmartRecruiters, Inc. (an SAP company)",
        "name": "Vendor"
      },
      {
        "a": "https://rest.bullhornstaffing.com/rest-services",
        "b": "https://api.smartrecruiters.com",
        "name": "Hosted endpoint"
      },
      {
        "a": "HTTP",
        "b": "HTTP",
        "name": "Transports"
      },
      {
        "a": "OAuth",
        "b": "OAuth or key",
        "name": "Auth"
      },
      {
        "a": "Paid",
        "b": "Paid",
        "name": "Pricing"
      },
      {
        "a": "no",
        "b": "no",
        "name": "x402"
      },
      {
        "a": "Proprietary service under a Bullhorn customer or partner agreement that is not published, with a public API Fair Use Policy. The `sdk-rest` Java library and the `@bullhorn/taurus` and `@bullhorn/bullhorn-types` packages are MIT per npm and the repositories",
        "b": "Proprietary service under the SmartRecruiters Master Subscription Agreement",
        "name": "Licence"
      },
      {
        "a": "no",
        "b": "no",
        "name": "Read-only variant documented"
      },
      {
        "a": "no",
        "b": "yes",
        "name": "llms.txt"
      },
      {
        "a": "2026-09-29",
        "b": "2026-10-05",
        "name": "Last release"
      },
      {
        "a": "no date given",
        "b": "no date given",
        "name": "Terms last updated"
      },
      {
        "a": "2026-05-20",
        "b": "no date given",
        "name": "Privacy policy last updated"
      },
      {
        "a": "not found in the text",
        "b": "not found in the text",
        "name": "Customer content may train models"
      },
      {
        "a": "yes",
        "b": "yes",
        "name": "Terms restrict automated access"
      },
      {
        "a": "yes",
        "b": "yes",
        "name": "Terms restrict benchmarking"
      },
      {
        "a": "not found in the text",
        "b": "not found in the text",
        "name": "Terms or service can change without notice"
      },
      {
        "a": "not found in the text",
        "b": "not found in the text",
        "name": "Arbitration or class-action waiver"
      },
      {
        "a": "13 stars, 1.7k npm/wk",
        "b": "none",
        "name": "Popularity"
      }
    ],
    "faq": [
      {
        "answer": "SmartRecruiters scores 60.4 (C) on agent readiness against Bullhorn's 46.7 (D), and leads in 6 of 7 scored categories. Bullhorn leads on agent ergonomics.",
        "question": "Which is better for AI agents, Bullhorn or SmartRecruiters?"
      },
      {
        "answer": "Bullhorn uses an OAuth sign-in. SmartRecruiters takes an API key or an OAuth sign-in.",
        "question": "Do Bullhorn and SmartRecruiters need an API key?"
      },
      {
        "answer": "Yes. Bullhorn has a hosted endpoint at https://rest.bullhornstaffing.com/rest-services and SmartRecruiters at https://api.smartrecruiters.com.",
        "question": "Can an agent call Bullhorn and SmartRecruiters without installing anything?"
      }
    ],
    "goodFor": [
      {
        "aheadOn": [
          "Agent ergonomics, 64 against 51"
        ],
        "also": null,
        "goodFor": "An integration built for a staffing agency that already runs on Bullhorn, with Bullhorn's permission for AI use in writing, and needs candidates, job orders, submissions and placements.",
        "slug": "bullhorn",
        "watchFor": "The API Fair Use Policy of 17 December 2025 bars connecting third-party AI or LLM tools, or MCP, without Bullhorn's explicit written permission"
      },
      {
        "aheadOn": [
          "Reliability, 78 against 53",
          "Schema \u0026 documentation, 75 against 55",
          "Security \u0026 auth, 65 against 31",
          "Transparency \u0026 trust, 79 against 67"
        ],
        "also": null,
        "goodFor": "An agent working inside a company that already runs SmartRecruiters, for reading jobs and candidates, adding candidates, moving applications between stages, creating interviews and pulling reports.",
        "slug": "smartrecruiters",
        "watchFor": "No free tier, trial or self-serve signup found. The Essential plan starts at $14,995 and the other three plans are quoted on request"
      }
    ],
    "job": {
      "capability": "recruiting.candidates",
      "name": "Recruiting candidates"
    },
    "others": [
      {
        "json": "https://www.anchorterminal.com/compare/ashby-vs-bullhorn.json",
        "title": "Ashby vs Bullhorn",
        "url": "https://www.anchorterminal.com/compare/ashby-vs-bullhorn"
      },
      {
        "json": "https://www.anchorterminal.com/compare/ashby-vs-smartrecruiters.json",
        "title": "Ashby vs SmartRecruiters",
        "url": "https://www.anchorterminal.com/compare/ashby-vs-smartrecruiters"
      },
      {
        "json": "https://www.anchorterminal.com/compare/bullhorn-vs-gem.json",
        "title": "Bullhorn vs Gem",
        "url": "https://www.anchorterminal.com/compare/bullhorn-vs-gem"
      },
      {
        "json": "https://www.anchorterminal.com/compare/bullhorn-vs-greenhouse.json",
        "title": "Bullhorn vs Greenhouse",
        "url": "https://www.anchorterminal.com/compare/bullhorn-vs-greenhouse"
      },
      {
        "json": "https://www.anchorterminal.com/compare/bullhorn-vs-lever.json",
        "title": "Bullhorn vs Lever",
        "url": "https://www.anchorterminal.com/compare/bullhorn-vs-lever"
      },
      {
        "json": "https://www.anchorterminal.com/compare/bullhorn-vs-pinpoint.json",
        "title": "Bullhorn vs Pinpoint",
        "url": "https://www.anchorterminal.com/compare/bullhorn-vs-pinpoint"
      },
      {
        "json": "https://www.anchorterminal.com/compare/bullhorn-vs-recruitee.json",
        "title": "Bullhorn vs Recruitee",
        "url": "https://www.anchorterminal.com/compare/bullhorn-vs-recruitee"
      },
      {
        "json": "https://www.anchorterminal.com/compare/bullhorn-vs-workable.json",
        "title": "Bullhorn vs Workable",
        "url": "https://www.anchorterminal.com/compare/bullhorn-vs-workable"
      },
      {
        "json": "https://www.anchorterminal.com/compare/bullhorn-vs-zoho-recruit.json",
        "title": "Bullhorn vs Zoho Recruit",
        "url": "https://www.anchorterminal.com/compare/bullhorn-vs-zoho-recruit"
      },
      {
        "json": "https://www.anchorterminal.com/compare/gem-vs-smartrecruiters.json",
        "title": "Gem vs SmartRecruiters",
        "url": "https://www.anchorterminal.com/compare/gem-vs-smartrecruiters"
      },
      {
        "json": "https://www.anchorterminal.com/compare/greenhouse-vs-smartrecruiters.json",
        "title": "Greenhouse vs SmartRecruiters",
        "url": "https://www.anchorterminal.com/compare/greenhouse-vs-smartrecruiters"
      },
      {
        "json": "https://www.anchorterminal.com/compare/lever-vs-smartrecruiters.json",
        "title": "Lever vs SmartRecruiters",
        "url": "https://www.anchorterminal.com/compare/lever-vs-smartrecruiters"
      },
      {
        "json": "https://www.anchorterminal.com/compare/pinpoint-vs-smartrecruiters.json",
        "title": "Pinpoint vs SmartRecruiters",
        "url": "https://www.anchorterminal.com/compare/pinpoint-vs-smartrecruiters"
      },
      {
        "json": "https://www.anchorterminal.com/compare/recruitee-vs-smartrecruiters.json",
        "title": "Recruitee vs SmartRecruiters",
        "url": "https://www.anchorterminal.com/compare/recruitee-vs-smartrecruiters"
      },
      {
        "json": "https://www.anchorterminal.com/compare/smartrecruiters-vs-workable.json",
        "title": "SmartRecruiters vs Workable",
        "url": "https://www.anchorterminal.com/compare/smartrecruiters-vs-workable"
      },
      {
        "json": "https://www.anchorterminal.com/compare/smartrecruiters-vs-zoho-recruit.json",
        "title": "SmartRecruiters vs Zoho Recruit",
        "url": "https://www.anchorterminal.com/compare/smartrecruiters-vs-zoho-recruit"
      }
    ],
    "scores": [
      {
        "bullhorn": 53,
        "by": 25,
        "edge": "smartrecruiters",
        "key": "reliability",
        "name": "Reliability",
        "smartrecruiters": 78,
        "weight": 16
      },
      {
        "key": "performance",
        "name": "Performance",
        "pending": true,
        "weight": 10
      },
      {
        "bullhorn": 55,
        "by": 20,
        "edge": "smartrecruiters",
        "key": "schema",
        "name": "Schema \u0026 documentation",
        "smartrecruiters": 75,
        "weight": 13
      },
      {
        "bullhorn": 64,
        "by": 13,
        "edge": "bullhorn",
        "key": "ergonomics",
        "name": "Agent ergonomics",
        "smartrecruiters": 51,
        "weight": 13
      },
      {
        "bullhorn": 31,
        "by": 34,
        "edge": "smartrecruiters",
        "key": "security",
        "name": "Security \u0026 auth",
        "smartrecruiters": 65,
        "weight": 14
      },
      {
        "bullhorn": 5,
        "by": 3,
        "edge": "smartrecruiters",
        "key": "payments",
        "name": "Payments \u0026 pricing",
        "smartrecruiters": 8,
        "weight": 10
      },
      {
        "key": "tasks",
        "name": "Task success",
        "pending": true,
        "weight": 10
      },
      {
        "bullhorn": 56,
        "by": 2,
        "edge": "smartrecruiters",
        "key": "maintenance",
        "name": "Maintenance \u0026 community",
        "smartrecruiters": 58,
        "weight": 7
      },
      {
        "bullhorn": 67,
        "by": 12,
        "edge": "smartrecruiters",
        "key": "transparency",
        "name": "Transparency \u0026 trust",
        "smartrecruiters": 79,
        "weight": 7
      }
    ],
    "summary": "SmartRecruiters scores 60.4 (C) on agent readiness against Bullhorn's 46.7 (D), and leads in 6 of 7 scored categories. Bullhorn leads on agent ergonomics. Both do recruiting candidates.",
    "verdicts": {
      "bullhorn": "The REST API covers 91 documented entities with required field selection, Lucene and JPQL queries and an event queue. Access is by support ticket or a paid partner contract, and the API Fair Use Policy bars connecting third-party AI or LLM tools or MCP without Bullhorn's written permission. No OpenAPI file or numeric rate limit was found.",
      "smartrecruiters": "OAuth client credentials limited by 49 scopes, a system role and an access group, with per-operation OpenAPI definitions, llms.txt and a dated changelog. Access needs a paid SmartRecruiters account, with the lowest plan starting at $14,995, and no free tier, official SDK or idempotency key was found."
    }
  },
  "kind": "anchor.page",
  "links": {
    "api": "https://www.anchorterminal.com/api/v1/index.json",
    "html": "https://www.anchorterminal.com/compare/bullhorn-vs-smartrecruiters",
    "json": "https://www.anchorterminal.com/compare/bullhorn-vs-smartrecruiters.json",
    "llms": "https://www.anchorterminal.com/llms.txt",
    "markdown": "https://www.anchorterminal.com/compare/bullhorn-vs-smartrecruiters.md",
    "slim": "https://www.anchorterminal.com/compare/bullhorn-vs-smartrecruiters.min.md"
  },
  "markdown": "SmartRecruiters scores 60.4 (C) on agent readiness against Bullhorn's 46.7 (D), and leads in 6 of 7 scored categories. Bullhorn leads on agent ergonomics. Both do recruiting candidates.\n\n- Bullhorn: grade D, 46.7/100, rank #644 of 722. Markdown https://www.anchorterminal.com/tools/bullhorn.md · JSON https://www.anchorterminal.com/api/v1/tools/bullhorn.json\n- SmartRecruiters: grade C, 60.4/100, rank #403 of 722. Markdown https://www.anchorterminal.com/tools/smartrecruiters.md · JSON https://www.anchorterminal.com/api/v1/tools/smartrecruiters.json\n\n## Which one, for what\n\n### Bullhorn (D)\n\nGood for: An integration built for a staffing agency that already runs on Bullhorn, with Bullhorn's permission for AI use in writing, and needs candidates, job orders, submissions and placements.\n\nAhead on:\n- Agent ergonomics, 64 against 51\n\nWatch for: The API Fair Use Policy of 17 December 2025 bars connecting third-party AI or LLM tools, or MCP, without Bullhorn's explicit written permission\n\n### SmartRecruiters (C)\n\nGood for: An agent working inside a company that already runs SmartRecruiters, for reading jobs and candidates, adding candidates, moving applications between stages, creating interviews and pulling reports.\n\nAhead on:\n- Reliability, 78 against 53\n- Schema \u0026 documentation, 75 against 55\n- Security \u0026 auth, 65 against 31\n- Transparency \u0026 trust, 79 against 67\n\nWatch for: No free tier, trial or self-serve signup found. The Essential plan starts at $14,995 and the other three plans are quoted on request\n\n\n## Score by category\n\n| Category | Weight | Bullhorn | SmartRecruiters | Edge |\n| --- | --- | --- | --- | --- |\n| Reliability | 16% (20 this run) | 53 | 78 | SmartRecruiters +25 |\n| Performance | 10%, pending | pending | pending | not scored in this run |\n| Schema \u0026 documentation | 13% (16.2 this run) | 55 | 75 | SmartRecruiters +20 |\n| Agent ergonomics | 13% (16.2 this run) | 64 | 51 | Bullhorn +13 |\n| Security \u0026 auth | 14% (17.5 this run) | 31 | 65 | SmartRecruiters +34 |\n| Payments \u0026 pricing | 10% (12.5 this run) | 5 | 8 | SmartRecruiters +3 |\n| Task success | 10%, pending | pending | pending | not scored in this run |\n| Maintenance \u0026 community | 7% (8.8 this run) | 56 | 58 | SmartRecruiters +2 |\n| Transparency \u0026 trust | 7% (8.8 this run) | 67 | 79 | SmartRecruiters +12 |\n| Negative events | ≤15 | 0 | 0 | |\n| **Total** | | **46.7 · D** | **60.4 · C** | |\n\n## Facts side by side\n\n| Fact | Bullhorn | SmartRecruiters |\n| --- | --- | --- |\n| Kind | HTTP API | HTTP API |\n| Vendor | Bullhorn, Inc. | SmartRecruiters, Inc. (an SAP company) |\n| Hosted endpoint | `https://rest.bullhornstaffing.com/rest-services` | `https://api.smartrecruiters.com` |\n| Transports | HTTP | HTTP |\n| Auth | OAuth | OAuth or key |\n| Pricing | Paid | Paid |\n| x402 | no | no |\n| Licence | Proprietary service under a Bullhorn customer or partner agreement that is not published, with a public API Fair Use Policy. The `sdk-rest` Java library and the `@bullhorn/taurus` and `@bullhorn/bullhorn-types` packages are MIT per npm and the repositories | Proprietary service under the SmartRecruiters Master Subscription Agreement |\n| Read-only variant documented | no | no |\n| llms.txt | no | yes |\n| Last release | 2026-09-29 | 2026-10-05 |\n| Terms last updated | no date given | no date given |\n| Privacy policy last updated | 2026-05-20 | no date given |\n| Customer content may train models | not found in the text | not found in the text |\n| Terms restrict automated access | yes | yes |\n| Terms restrict benchmarking | yes | yes |\n| Terms or service can change without notice | not found in the text | not found in the text |\n| Arbitration or class-action waiver | not found in the text | not found in the text |\n| Popularity | 13 stars, 1.7k npm/wk | none |\n\n## Verdicts\n\n**Bullhorn.** The REST API covers 91 documented entities with required field selection, Lucene and JPQL queries and an event queue. Access is by support ticket or a paid partner contract, and the API Fair Use Policy bars connecting third-party AI or LLM tools or MCP without Bullhorn's written permission. No OpenAPI file or numeric rate limit was found.\n\n**SmartRecruiters.** OAuth client credentials limited by 49 scopes, a system role and an access group, with per-operation OpenAPI definitions, llms.txt and a dated changelog. Access needs a paid SmartRecruiters account, with the lowest plan starting at $14,995, and no free tier, official SDK or idempotency key was found.\n\n## Before you call either\n\n### Bullhorn\n\n1. Confirm the customer holds Bullhorn's written permission for AI or LLM access before any call. The API Fair Use Policy forbids it otherwise\n2. Call `/rest-services/loginInfo?username=` first to learn the data centre, then use the returned OAuth and REST URLs and follow any 307 redirect\n3. Log in once and reuse `BhRestToken` until a call returns 401, then use the refresh token. Bullhorn limits login rates and may block frequent logins\n4. Send `BhRestToken` as a header, never in the URL, and always pass `fields`. `fields=*` is blocked outside `/meta`\n5. On 429 wait one second and retry. Writes have no idempotency key, so read the record back before repeating a PUT\n\n### SmartRecruiters\n\n1. Ask the customer's admin for an OAuth client ID with only the scopes needed. An API key reads and writes all company data and never expires\n2. Exchange the client ID and secret at https://api.smartrecruiters.com/identity/oauth/token and refresh every 30 minutes\n3. Stay under 10 requests a second and 8 concurrent. `GET /candidates` allows 1 concurrent request, and job publication 2 a second\n4. Move a candidate with `PUT /candidates/{id}/jobs/{jobId}/status`. The variants without `jobId` act on the most recently updated application\n5. Page with `limit` (maximum 100, default 10) and `pageId` from `nextPageId`. Use the Reporting API for bulk reads, which returns CSV\n\n## Questions\n\n### Which is better for AI agents, Bullhorn or SmartRecruiters?\n\nSmartRecruiters scores 60.4 (C) on agent readiness against Bullhorn's 46.7 (D), and leads in 6 of 7 scored categories. Bullhorn leads on agent ergonomics.\n\n### Do Bullhorn and SmartRecruiters need an API key?\n\nBullhorn uses an OAuth sign-in. SmartRecruiters takes an API key or an OAuth sign-in.\n\n### Can an agent call Bullhorn and SmartRecruiters without installing anything?\n\nYes. Bullhorn has a hosted endpoint at https://rest.bullhornstaffing.com/rest-services and SmartRecruiters at https://api.smartrecruiters.com.\n\n\n## For agents\n\n- This comparison as JSON: https://www.anchorterminal.com/compare/bullhorn-vs-smartrecruiters.json, and with the fewest tokens: https://www.anchorterminal.com/compare/bullhorn-vs-smartrecruiters.min.md\n- Over MCP at https://www.anchorterminal.com/mcp (no key): `compare_tools {\"a\": \"bullhorn\", \"b\": \"smartrecruiters\"}`. From a terminal: `anchor compare bullhorn smartrecruiters`\n- Each listing in full: https://www.anchorterminal.com/api/v1/tools/bullhorn.json and https://www.anchorterminal.com/api/v1/tools/smartrecruiters.json\n\n## Other comparisons with Bullhorn or SmartRecruiters\n\n- [Ashby vs Bullhorn](https://www.anchorterminal.com/compare/ashby-vs-bullhorn.md)\n- [Ashby vs SmartRecruiters](https://www.anchorterminal.com/compare/ashby-vs-smartrecruiters.md)\n- [Bullhorn vs Gem](https://www.anchorterminal.com/compare/bullhorn-vs-gem.md)\n- [Bullhorn vs Greenhouse](https://www.anchorterminal.com/compare/bullhorn-vs-greenhouse.md)\n- [Bullhorn vs Lever](https://www.anchorterminal.com/compare/bullhorn-vs-lever.md)\n- [Bullhorn vs Pinpoint](https://www.anchorterminal.com/compare/bullhorn-vs-pinpoint.md)\n- [Bullhorn vs Recruitee](https://www.anchorterminal.com/compare/bullhorn-vs-recruitee.md)\n- [Bullhorn vs Workable](https://www.anchorterminal.com/compare/bullhorn-vs-workable.md)\n- [Bullhorn vs Zoho Recruit](https://www.anchorterminal.com/compare/bullhorn-vs-zoho-recruit.md)\n- [Gem vs SmartRecruiters](https://www.anchorterminal.com/compare/gem-vs-smartrecruiters.md)\n- [Greenhouse vs SmartRecruiters](https://www.anchorterminal.com/compare/greenhouse-vs-smartrecruiters.md)\n- [Lever vs SmartRecruiters](https://www.anchorterminal.com/compare/lever-vs-smartrecruiters.md)\n- [Pinpoint vs SmartRecruiters](https://www.anchorterminal.com/compare/pinpoint-vs-smartrecruiters.md)\n- [Recruitee vs SmartRecruiters](https://www.anchorterminal.com/compare/recruitee-vs-smartrecruiters.md)\n- [SmartRecruiters vs Workable](https://www.anchorterminal.com/compare/smartrecruiters-vs-workable.md)\n- [SmartRecruiters vs Zoho Recruit](https://www.anchorterminal.com/compare/smartrecruiters-vs-zoho-recruit.md)\n",
  "meta": {
    "attribution": "Anchor Terminal (https://www.anchorterminal.com)",
    "docs": "https://www.anchorterminal.com/docs/",
    "generatedAt": "2026-10-08",
    "license": "CC-BY-4.0",
    "method": "https://www.anchorterminal.com/benchmark/",
    "methodology": "0.4",
    "openapi": "https://www.anchorterminal.com/openapi.json",
    "preview": false,
    "run": "2026-10-01",
    "runLabel": "October 2026 research run"
  },
  "page": {
    "breadcrumbs": [
      {
        "name": "Home",
        "url": "https://www.anchorterminal.com/"
      },
      {
        "name": "Compare",
        "url": "https://www.anchorterminal.com/compare/"
      },
      {
        "name": "Bullhorn vs SmartRecruiters",
        "url": ""
      }
    ],
    "description": "SmartRecruiters scores 60.4 (C) on agent readiness against Bullhorn's 46.7 (D), and leads in 6 of 7 scored categories. Bullhorn leads on agent ergonomics. Both do recruiting candidates. Category scores, facts, verdicts and agent notes side by side.",
    "facts": [
      "Bullhorn D 46.7",
      "SmartRecruiters C 60.4",
      "scores"
    ],
    "h1": "Bullhorn vs SmartRecruiters",
    "image": "https://www.anchorterminal.com/assets/og/compare-bullhorn-vs-smartrecruiters.png",
    "path": "/compare/bullhorn-vs-smartrecruiters",
    "published": "2026-10-01",
    "section": "tools",
    "title": "Bullhorn vs SmartRecruiters for AI agents, D 46.7 vs C 60.4",
    "toc": null,
    "updated": "2026-10-08",
    "url": "https://www.anchorterminal.com/compare/bullhorn-vs-smartrecruiters"
  },
  "tokens": {
    "markdown": 2350,
    "slim": 680
  },
  "version": 1
}
