MedReps Scraper [$3.50/1K💰] | Medical Sales Jobs | OTE avatar

MedReps Scraper [$3.50/1K💰] | Medical Sales Jobs | OTE

Pricing

from $3.00 / 1,000 results

Go to Apify Store
MedReps Scraper [$3.50/1K💰] | Medical Sales Jobs | OTE

MedReps Scraper [$3.50/1K💰] | Medical Sales Jobs | OTE

Scrape MedReps medical sales jobs: base salary and OTE ranges, territory, therapeutic area and contact emails. Filter by keyword, segment, state or remote. Export to CSV.

Pricing

from $3.00 / 1,000 results

Rating

0.0

(0)

Developer

Ahmed Jasarevic

Ahmed Jasarevic

Maintained by Community

Actor stats

0

Bookmarked

2

Total users

1

Monthly active users

a day ago

Last modified

Categories

Security

Limited permissions

Share

MedReps Scraper – Medical Sales Jobs, Base Salary & OTE Data

Extract medical device, pharma, biotech and capital-equipment sales jobs from MedReps: title, hiring company, segment, therapeutic area, territory, base salary and OTE ranges, travel percentage, experience, education, posting date, contact email and apply URL. $3.50 per 1,000 jobs. Filter by keyword, segment, state or remote.

What Can You Do With MedReps Data?

  • Compensation benchmarking – compare base salary and OTE ranges by segment, therapeutic area and territory
  • Recruiter candidate sourcing – map open territories and the companies hiring in them
  • Territory coverage analysis – see which states and metros have the most open medical-sales roles
  • Sales-comp modelling – build a base/OTE distribution for a device or pharma niche
  • Job-board aggregation – feed a niche medical-sales board with fresh postings
  • Market entry research – gauge which manufacturers are expanding commercial teams, and where

How It Works

How the MedReps Scraper works: from a job index query to structured compensation rows.

The Actor collects publicly available MedReps job postings and normalizes them into one schema. Provide a keyword, segment, state or remote filter; it reads the published job search and posting pages, then writes one row per active job.

  • A full scan covers the active 30-day index, about 3,100 postings.
  • Salary, OTE and territory fields are taken from each posting.
  • maxItems caps the number of saved jobs.

Scrape Medical Sales Jobs And Compensation Data

MedReps does not publish an open read API for research. Its employer-side tools are for companies posting jobs, not for reading the market.

This Actor collects the public job postings shown on MedReps and returns them as rows, with no employer account or job-feed contract.

Base Salary And OTE Ranges In $K

Compensation is the reason most people want this data. baseSalaryMinK and baseSalaryMaxK hold the base range in thousands of USD; oteMinK and oteMaxK hold the on-target-earnings range, and compensationType records the structure ("Base + Commission", and similar).

These are the ranges the employer published, not a computed average. Filtering by productCategories and comparing OTE across segments is the fastest way to price a role or sanity-check an offer.

Territory, Travel, Experience And Therapeutic Area

city, state, states[], country and locations[] describe the territory; isRemote and isFieldBased flag the working pattern; travelPercentage uses MedReps' own buckets (0–25%, 25–50%, 50–75%, 75–100%).

therapeuticArea and therapeuticAreas[] are inferred from the posting text and title — cardiology, oncology, orthopedics, neurology, GI, urology and similar. experienceRequired, experienceYears and educationRequired are parsed from the description, so they are best-effort: the raw description and descriptionText are always included so you can verify.

FieldTypeRequiredDefaultNotes
searchQuerystringNo—Keyword passed to MedReps search (cardiac, oncology, territory manager)
productCategoriesarrayNo—Segment filter; empty = all segments
statesarrayNo—Two-letter state codes; empty = all territories
remoteOnlybooleanNofalseKeep only postings flagged remote
maxItemsintegerNo100Max jobs saved
proxyobjectNo—Standard Apify proxy configuration

Output – Job Posting Fields

FieldTypeDescription
jobId, jobUrlstringMedReps posting id and public job-detail URL
titlestringJob title
company, companyId, companyWebsite, companyLogoUrl, isStaffingFirmstring / booleanHiring company or recruiter
segment, productCategorystringDevice / pharma / biotech / capital equipment / DME / services / IT
therapeuticArea, therapeuticAreasstring / arrayInferred therapeutic area(s)
city, state, states, country, locationsstring / arrayTerritory and coordinates when available
isRemote, isFieldBasedbooleanWorking pattern flags
baseSalaryMinK, baseSalaryMaxKnumberBase range in $K
oteMinK, oteMaxKnumberOTE range in $K
compensationTypestringe.g. Base + Commission
travelPercentagestringTravel bucket
experienceRequired, experienceYearsstring / numberParsed from the posting
educationRequiredstringParsed from the posting
description, descriptionTextstringFull posting, HTML and plain text
postedAt, createdAt, archivedAtstringISO timestamps
contactEmail, applicationMethod, applicationUrl, applyUrlstringContact and best apply link
isFeatured, isExclusive, isConfidential, jobCodeboolean / stringPosting flags

Example Input – Cardiology Roles In Texas

{
"searchQuery": "cardiology",
"productCategories": ["Medical Device"],
"states": ["TX"],
"maxItems": 50,
"remoteOnly": false
}

Example Output – One Job Posting

{
"jobId": "a1b2c3d4",
"title": "Territory Manager",
"jobUrl": "https://www.medreps.com/job-detail/territory-manager-12345/",
"company": "Confidential",
"segment": "Medical Device",
"productCategory": "medical-device",
"therapeuticArea": "Cardiology",
"city": "Dallas",
"state": "TX",
"isRemote": false,
"isFieldBased": true,
"baseSalaryMinK": 95,
"baseSalaryMaxK": 120,
"oteMinK": 170,
"oteMaxK": 190,
"compensationType": "Base + Commission",
"travelPercentage": "50-75%",
"experienceRequired": "3+ years",
"postedAt": "2026-10-20T00:00:00.000Z",
"applyUrl": "https://www.medreps.com/job-detail/territory-manager-12345/"
}

Export MedReps Data To JSON, CSV Or Excel And Schedule Runs

Results are written to the default dataset: JSON, CSV, Excel or XML from the run page, or through the Apify API. A full index scan can take a few minutes; a filtered maxItems run is much faster.

Postings turn over on a 30-day window, so a daily or weekly schedule keeps a board or a comp dataset fresh. At $3.50 per 1,000 jobs, the entire active index (about 3,100 postings) costs roughly $11.

FAQ

Why use this actor instead of the MedReps website?

Because the site is built for one job at a time. This actor returns the whole active index — or a filtered slice — as a table with base salary, OTE, territory and contact email, so you can sort by comp instead of clicking through postings.

Is there a MedReps API?

Not a public read API. MedReps offers employer tools for posting jobs, but not a way to read the market. This Actor collects the public job postings shown on MedReps.

Why do some postings show no salary?

Because the employer did not publish a range. baseSalaryMinK, baseSalaryMaxK, oteMinK and oteMaxK are null in that case — the actor does not estimate compensation. Filter those rows out before computing averages.

How current is the data?

MedReps shows a rolling 30-day window of active postings, so every row is from the last 30 days. The index held roughly 3,100 jobs when last measured.

Are therapeuticArea and experienceRequired official fields?

No. They are inferred from the title and description text, because MedReps does not expose them as structured fields. The raw description and descriptionText are always included so you can verify or re-parse them.

What are alternatives for medical sales job data?

General job APIs (Adzuna, Jooble) cover healthcare sales loosely; LinkedIn and Indeed carry some of the same roles. MedReps is the specialist board, so it has the densest coverage of device and pharma field sales — and the only one where OTE is commonly published.

Does the states filter reduce the run size?

No. The state, segment and remote filters are applied after collection, so a narrow filter still scans the index. Use searchQuery to narrow results at the source and maxItems to bound cost.

For AI Agents & LLM Apps

Returns one row per active MedReps job posting with compensation ranges, territory, segment and contact details.

Minimal working input:

{ "searchQuery": "territory manager", "maxItems": 20 }

Variant — remote roles only, no keyword:

{ "remoteOnly": true, "maxItems": 50 }

Output fields: jobId, title, jobUrl, company, companyId, companyWebsite, isStaffingFirm, segment, productCategory, therapeuticArea, therapeuticAreas, city, state, states, country, locations, isRemote, isFieldBased, baseSalaryMinK, baseSalaryMaxK, oteMinK, oteMaxK, compensationType, travelPercentage, experienceRequired, experienceYears, educationRequired, description, descriptionText, postedAt, createdAt, archivedAt, contactEmail, applicationMethod, applicationUrl, applyUrl, isFeatured, isExclusive, isConfidential, jobCode.

Behaviors an agent should know:

  • maxItems defaults to 100; the full index is about 3,100 postings over ~155 pages, so a large cap means a long run.
  • Only searchQuery narrows the source search. productCategories, states and remoteOnly are applied to collected rows, so they do not reduce run size.
  • Salary and OTE fields are null when the employer published no range — never impute them.
  • therapeuticArea, experienceRequired and educationRequired are text inferences, not source fields; use descriptionText to verify.
  • Every row is inside MedReps' rolling 30-day window; there is no archive or historical parameter.
  • contactEmail may be absent, and company can be Confidential by design.

Billing: $0.0035 per saved job ($3.50 per 1,000), plus a small actor-start event.

This actor is an independent tool. It is not affiliated with, endorsed by, or sponsored by MedReps or Healthcare Staffing Technologies.

It collects publicly available job postings — no login, no employer account, no paywall bypass, no CAPTCHA solving. Job descriptions and salary ranges are published by employers for public distribution.

Some records contain a contact email for the recruiter or hiring company. That is business contact data published for applications; it must not be used for unsolicited bulk outreach. In the US, commercial email is regulated by CAN-SPAM and telemarketing by the TCPA; in the EU and UK, GDPR and ePrivacy apply. Users are responsible for complying with MedReps' Terms of Service and with applicable employment-advertising and data-protection law. This section is a factual disclosure, not legal advice.

SEO Keywords

medreps scraper, medreps api, medical sales jobs, medical device sales jobs, pharmaceutical sales jobs, medtech jobs data, medical sales salary data, ote data, territory manager jobs, pharma sales recruiter, medical sales job board, healthcare sales jobs, base salary and ote, medical sales compensation, device sales territory data, job board scraper, medreps alternative, medical sales hiring data