Discover/CVS Health API
live

CVS Health APIcvshealth.com

Search CVS Health job postings by keyword, category, or location. Get full job details including descriptions, employment type, and direct Workday apply links.

Endpoint health
verified 4d ago
search_jobs_by_keyword
search_jobs
get_job_detail
get_jobs_by_location
get_similar_jobs
7/7 passing latest checkself-healing
Endpoints
7
Updated
26d ago

What is the CVS Health API?

The CVS Health Jobs API provides 7 endpoints for searching and retrieving job postings from the CVS Health careers site. Use search_jobs to run full-text queries across job titles, descriptions, and locations, or pull structured job details — including HTML description, employment type, posted date, and a direct Workday application URL — with get_job_detail. Results include pagination metadata and up to the full catalog when no filters are applied.

Try it
Pagination offset (number of results to skip)
Maximum number of results to return per page
Search keywords to match against job title, description, category, and location (e.g. 'pharmacy technician', 'developer', 'Remote')
api.parse.bot/scraper/531043c0-2e3b-44b6-8502-3835f754b446/<endpoint>
Ready to send
Fill in the parameters and hit sign in to send to see live response data here.
Call it over HTTPgrab a free API key at signup
curl -X GET 'https://api.parse.bot/scraper/531043c0-2e3b-44b6-8502-3835f754b446/search_jobs?from=0&limit=25&keywords=pharmacy' \
  -H 'X-API-Key: $PARSE_API_KEY'
Python SDK · recommended

Typed, relational, agent-ready

A generated client with real types, enums, and the links between objects — the structure a flat JSON response can't carry. Autocompletes in your editor and reads cleanly to coding agents.

  • Fully typed · autocompletes
  • Objects link to objects
  • Typed errors & pagination

Typed Python client. Set up the SDK in your uv project, then pull this API’s typed client:

uv add parse-sdk
uv run parse init
uv run parse add --marketplace cvshealth-com-api

uv run parse add --marketplace pulls a pinned snapshot of this canonical API — it won’t change underneath you. To customize it, subscribe and swap to your own copy.

"""Walkthrough: CVS Health Careers SDK — search, filter, drill into details."""
from parse_apis.cvs_health_careers_api import CVSHealth, Job, JobSummary, JobNotFound

client = CVSHealth()

# Search for pharmacy jobs — limit caps total items fetched
for summary in client.jobsummaries.search(keywords="pharmacy", limit=3):
    print(summary.title, summary.location, summary.category)

# Filter by category
for summary in client.jobsummaries.by_category(category="Corporate", limit=3):
    print(summary.title, summary.city, summary.state)

# Filter by location
for summary in client.jobsummaries.by_location(location="Remote", limit=3):
    print(summary.title, summary.remote, summary.posted_date)

# Drill into the first result's full details
first = client.jobsummaries.search(keywords="developer", limit=1).first()
if first:
    detail = first.details()
    print(detail.title, detail.time_type, detail.apply_url)

# Fetch a job directly by ID with typed error handling
try:
    job = client.jobs.get(job_id="R0863103")
    print(job.title, job.location, job.work_location_type)
except JobNotFound as exc:
    print(f"Job not found: {exc.job_id}")

# Find similar jobs using a constructible Job instance
target = client.job(job_id="R0863103")
for similar in target.similar(limit=3):
    print(similar.title, similar.city, similar.state)

print("exercised: search / by_category / by_location / details / jobs.get / similar")
All endpoints · 7 totalmissing one? ·

Full-text search over CVS Health job listings. Keywords match against job title, description, category, and location. Results are ordered by relevance. Pagination via offset; each page returns up to `limit` jobs. Omitting keywords returns all available listings.

Input
ParamTypeDescription
fromintegerPagination offset (number of results to skip)
limitintegerMaximum number of results to return per page
keywordsstringSearch keywords to match against job title, description, category, and location (e.g. 'pharmacy technician', 'developer', 'Remote')
Response
{
  "type": "object",
  "fields": {
    "from": "integer pagination offset used for this response",
    "jobs": "array of job summary objects with jobId, title, location, category, subCategory, applyUrl, postedDate, remote, type, city, state, country, descriptionTeaser",
    "count": "integer number of jobs returned in this response page",
    "total_hits": "integer total number of matching jobs in the catalog"
  },
  "sample": {
    "data": {
      "from": 0,
      "jobs": [
        {
          "city": "Wichita",
          "type": "Full time",
          "jobId": "R0863103",
          "state": "Kansas",
          "title": "Staff Pharmacist Full Time",
          "remote": "On-Site",
          "country": "United States",
          "applyUrl": "https://cvshealth.wd1.myworkdayjobs.com/CVS_Health_Careers/job/KS---Wichita/Staff-Pharmacist-Full-Time_R0863103/apply",
          "category": "Pharmacy",
          "location": "10800 E 21ST ST N, Wichita, Kansas,United States",
          "postedDate": "2026-04-27T00:00:00.000+0000",
          "subCategory": "Pharmacist",
          "descriptionTeaser": "Embrace the opportunity to become a Staff Pharmacist..."
        }
      ],
      "count": 25,
      "total_hits": 16289
    },
    "status": "success"
  }
}

About the CVS Health API

Search and Filter Endpoints

The API exposes three overlapping search paths. search_jobs accepts keywords, from, and limit parameters and matches against job title, description, category, and location simultaneously — omitting keywords returns all available listings. get_jobs_by_category takes a category string (e.g. 'Pharmacy', 'Innovation and Technology', 'Warehouse Fulfillment Transportation') and treats it as a relevance-ordered keyword search. get_jobs_by_location behaves similarly, accepting city names, state names, or 'Remote'. All three return the same response shape: jobs array, count, total_hits, and the from offset for the next page.

Job Detail and Application URLs

get_job_detail takes a requisition ID in the format R followed by digits (e.g. R0863103) and returns the full posting: jobTitle, company (always 'CVS Health'), location (full street address with city, state, country), timeType, postedDate (ISO datetime), category, subCategory, and description as an HTML string. The applyUrl field points directly to the Workday application page. Requesting an expired or removed ID returns a stale_input error with kind 'i'. get_apply_url constructs the canonical CVS Health careers page URL from a job ID without fetching the full detail record.

Pagination and Similar Jobs

All list endpoints paginate via integer from offset and return total_hits so you can compute how many additional pages exist. get_similar_jobs accepts a requisition ID and returns listings that match the ID pattern, surfacing sibling roles within the same requisition family — useful for identifying equivalent positions posted across different locations. search_jobs_by_keyword is a simpler interface to the same full-text search as search_jobs, using a query parameter instead of keywords and omitting the limit control.

Reliability & maintenanceVerified

The CVS Health API is a managed, monitored endpoint for cvshealth.com — not a raw scraper you maintain. Every endpoint is automatically health-checked on a schedule, and when cvshealth.com changes and a check fails, the API is automatically queued for repair and re-verified. It is built to keep working as the site underneath it changes.

This isn't an official cvshealth.com API — it's an independent, maintained REST wrapper over public data. Where the source has no official API (or only a limited one), Parse gives you a stable contract over a source that never promised one, and keeps it current. Need a new endpoint or field? You can revise it yourself in plain English and the agent rebuilds it against the live site in minutes — contributing the change back to the shared API is free.

Last verified
4d ago
Latest check
7/7 endpoints passing
Maintenance
Monitored & self-healing
Will this API break when the source site changes?+
It's built not to. Every endpoint is health-checked on a schedule with automated test probes. When the source site changes and a check fails, the API is automatically queued for repair and re-verified — that's the self-healing layer. Each API page shows when its endpoints were last verified. And because marketplace APIs are shared, any fix reaches everyone using it.
Is this an official API from the source site?+
No — Parse APIs are independent, managed REST wrappers over publicly available data. That is the point: where a site has no official API (or only a limited one), Parse gives you a maintained, monitored endpoint for that data and keeps it working as the site changes — so you get a stable contract over a source that never promised one.
Can I fix or extend this API myself if I need a new endpoint or field?+
Yes — and you don't have to wait on us. This API was generated by the Parse agent, which stays attached. Describe the change in plain English ("add an endpoint that returns reviews", "fix the price field") in the revise box on the API page or via the revise_api MCP tool, and the agent rebuilds it against the live site in minutes. Contributing the change back to the public API is free.
What happens if I call an endpoint that has an issue?+
Errors are machine-readable: a bad call returns a clean status with the list of available endpoints and a repair hint, so an agent (or you) can recover or trigger a fix instead of failing silently. Confirmed failures feed the automatic repair queue.
Common use cases
  • Aggregate CVS Health remote job openings by passing 'Remote' to get_jobs_by_location and syncing applyUrl links to a job board
  • Build a pharmacy technician job alert by polling search_jobs with keywords='pharmacy technician' and comparing postedDate to detect new postings
  • Populate a career site category browse page using get_jobs_by_category for categories like 'Corporate', 'Pharmacy', and 'Innovation and Technology'
  • Fetch full job descriptions via get_job_detail to extract structured data from the HTML description field for skills or requirement parsing
  • Track total open headcount per location by paginating get_jobs_by_location for each state and summing total_hits
  • Find all sibling postings for a known requisition using get_similar_jobs to surface the same role listed across multiple cities
  • Resolve a job ID to its apply page URL quickly with get_apply_url without incurring the overhead of a full get_job_detail call
Pricing & limitsSee full pricing →
TierPriceCredits/monthRate limit
Free$0/mo1005 req/min
Hobby$30/mo1,00020 req/min
Developer$100/mo5,000100 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.

Frequently asked questions
Does CVS Health have an official public API for job listings?+
CVS Health does not publish a documented public developer API for its careers data. Job postings are accessible through the CVS Health careers site, which uses Workday as its applicant tracking system. Workday does offer employer-configured integrations, but there is no public endpoint CVS Health exposes for third-party developers.
What does `get_job_detail` return beyond what appears in search results?+
get_job_detail returns the full HTML description field, the complete location string (including street address where available), timeType (e.g. 'Full time' or 'Part time'), and subCategory — none of which are guaranteed to appear in the summary objects returned by list endpoints. It also returns the direct Workday applyUrl and the ISO postedDate.
How does pagination work across the list endpoints?+
All list endpoints return from (the offset used), count (jobs in the current page), and total_hits (total matching jobs). To page through results, increment from by count on each subsequent request. search_jobs also accepts a limit parameter to control page size; search_jobs_by_keyword and the filter endpoints do not expose limit.
Does the API cover salary ranges or compensation data for CVS Health positions?+
Not currently. The API returns job metadata including timeType, category, subCategory, location, and description (HTML), but no structured salary or compensation fields are exposed in any endpoint response. You can fork this API on Parse and revise it to add a salary extraction endpoint if CVS Health surfaces that data on individual job detail pages.
Can I filter jobs by employment type (full-time vs. part-time) directly?+
timeType is returned in get_job_detail responses but is not a filterable parameter in any of the search endpoints — filtering happens by keyword, category string, or location string only. You can fork this API on Parse and revise it to add a timeType filter endpoint if that field is queryable on the source.
Page content last updated . Spec covers 7 endpoints from cvshealth.com.
Related APIs in JobsSee all →
cvs.com API
Find nearby CVS Pharmacy locations and check their hours, then search for products and verify real-time availability at specific stores. Quickly locate what you need and confirm it's in stock before making a trip.
amazon.jobs API
Search and browse Amazon job openings by keywords, location, and category, then view detailed information about specific positions. Filter results across multiple job categories and locations with easy pagination.
cv.lv API
Search for job listings on CV.lv and access detailed job descriptions, categories, locations, and information about top employers. Find the right opportunity by browsing available positions across different industries and regions.
careers.astrazeneca.com API
Search and discover AstraZeneca job openings worldwide, complete with full job descriptions and direct application links. Filter opportunities by keyword, job category, country, and city to find positions that match your interests.
apply.careers.microsoft.com API
Search Microsoft job openings by keywords and location, then view detailed information about positions including job descriptions and required qualifications. Easily browse available roles across Microsoft with filtering and pagination to find opportunities that match your career goals.
novartis.com API
Search and browse Novartis job openings across different locations, divisions, and job functions. Get detailed information about specific positions including requirements, responsibilities, and application details.
monster.com API
Search and retrieve job listings from Monster.com. Supports keyword and location-based search with structured results including job descriptions, salary ranges, company info, and employment details. Also provides access to popular job categories.
jobs.apple.com API
Search and browse open positions at Apple by keywords, location, and role, then view detailed job descriptions and requirements. Use autocomplete features to quickly find specific locations and job categories that match your career interests.