cvshealth.com APIcvshealth.com ↗
Search and retrieve CVS Health job listings by keyword, category, or location. Get full job details including pay range, description, and direct apply URLs.
curl -X GET 'https://api.parse.bot/scraper/531043c0-2e3b-44b6-8502-3835f754b446/search_jobs?from=0&limit=25&keywords=developer' \ -H 'X-API-Key: $PARSE_API_KEY'
Search for job listings using keywords. Returns paginated results with job summaries including title, location, category, and apply URL.
| Param | Type | Description |
|---|---|---|
| from | integer | Pagination offset |
| limit | integer | Number of results to return |
| keywords | string | Search keywords (e.g. 'developer', 'pharmacy technician') |
{
"type": "object",
"fields": {
"from": "integer pagination offset used",
"jobs": "array of job summary objects with title, jobId, location, category, applyUrl, postedDate, and other metadata",
"count": "integer number of jobs returned in this response",
"total_hits": "integer total number of matching jobs"
},
"sample": {
"data": {
"from": 0,
"jobs": [
{
"type": "Part time",
"jobId": "R0884940",
"title": "Pharmacy Technician",
"remote": "On-Site",
"applyUrl": "https://cvshealth.wd1.myworkdayjobs.com/CVS_Health_Careers/job/KS---Wichita/Pharmacy-Technician_R0884940/apply",
"category": "Pharmacy",
"location": "10800 E 21ST ST N, Wichita, Kansas,United States",
"postedDate": "2026-04-10T00:00:00.000+0000"
}
],
"count": 25,
"total_hits": 14816
},
"status": "success"
}
}About the cvshealth.com API
The CVS Health Careers API covers 7 endpoints for searching and retrieving job listings directly from CVS Health's careers site. Use search_jobs to run keyword queries with pagination, get_job_detail to pull full descriptions including pay range and employment type for a specific requisition ID, or get_jobs_by_category to filter roles across categories like Pharmacy, Corporate, and Innovation and Technology.
Searching Jobs
The search_jobs and search_jobs_by_keyword endpoints both accept optional keywords or query string parameters along with a from integer offset for pagination. Each returns a jobs array of summary objects containing title, jobId, location, category, applyUrl, and postedDate, plus a total_hits integer indicating how many records match across all pages. The limit parameter on search_jobs lets you control page size explicitly.
Filtering by Category and Location
get_jobs_by_category accepts a category string — such as 'Pharmacy', 'Corporate', or 'Innovation and Technology' — and returns matching job summaries. get_jobs_by_location works the same way with a location string like 'Remote', 'New York', or 'California'. Both support the from offset for pagination and return the same jobs array shape as the search endpoints. Note that category and location values are treated as keyword filters, not strict taxonomy lookups.
Job Detail and Apply URLs
get_job_detail takes a job_id string (e.g., 'R0884940') and returns the full record: jobTitle, description (HTML), location (full address), timeType (Full time / Part time), postedDate, payRange where available, category, subCategory, company (always 'CVS Health'), and a direct Workday applyUrl. If the job has been removed or expired, the endpoint returns a stale_input error with kind 'input_not_found' rather than an empty result. get_apply_url returns just the apply_url string when the full detail record is not needed.
Similar Jobs
get_similar_jobs accepts a job_id and returns a paginated list of job summaries. The results reflect jobs associated with that requisition's context — useful for surfacing related roles in the same team or function.
- Aggregate CVS Health open roles into an internal talent pipeline dashboard using
search_jobswith keyword filters - Monitor new pharmacy technician or pharmacist postings by polling
get_jobs_by_categorywith'Pharmacy'on a schedule - Build a remote-work job board filtered to CVS Health roles using
get_jobs_by_locationwith'Remote' - Retrieve full HTML job descriptions and pay ranges via
get_job_detailto feed a structured job comparison tool - Surface related roles alongside a viewed listing using
get_similar_jobsfor a job recommendation feature - Resolve a list of saved
job_idvalues to current apply URLs usingget_apply_urlto detect expired listings
| Tier | Price | Credits/month | Rate limit |
|---|---|---|---|
| Free | $0/mo | 100 | 5 req/min |
| Hobby | $30/mo | 1,000 | 20 req/min |
| Developer | $100/mo | 5,000 | 250 req/min |
One credit = one API call regardless of which marketplace API you call. Exceeding the rate limit returns a 429 response. Authenticate with the X-API-Key header.
Does CVS Health have an official public developer API for job listings?+
What does `get_job_detail` return that the search endpoints don't include?+
get_job_detail returns the full HTML description field, timeType (Full time or Part time), subCategory, payRange where the listing includes it, and the full street-level location address. Search and filter endpoints return only summary fields like title, jobId, category, and postedDate.What happens when a job ID is no longer active?+
job_id passed to get_job_detail corresponds to a listing that has been removed or expired, the endpoint returns a stale_input error with kind 'input_not_found' rather than an empty jobs array. This lets callers distinguish a missing listing from a valid zero-result query.Can I filter jobs by both category and location at the same time?+
get_jobs_by_category and get_jobs_by_location each accept a single filter parameter — you cannot combine them in one call. search_jobs supports free-text keywords that can include both a category and location term in one string, though results depend on how closely the listing text matches. You can fork this API on Parse and revise it to add a combined category-and-location filter endpoint.