Skip to main content
POST
/
v1
/
scrape-career-pages
/
async
Scrape Career Pages
curl --request POST \
  --url https://api.automindz.co/v1/scrape-career-pages/async \
  --header 'Authorization: Bearer <token>' \
  --header 'Content-Type: application/json' \
  --data '
{
  "company_url": "inriver.com",
  "company_name": "inRiver",
  "max_pages": 10,
  "target_locations": [
    "Finland",
    "Sweden",
    "Denmark",
    "Norway",
    "Belgium",
    "Netherlands"
  ],
  "known_career_page_url": "https://career.inriver.com"
}
'
{
  "request_id": "run_abc123xyz",
  "status": "QUEUED"
}
Triggers a career page scrape for a given company URL. The scraper maps the company’s website, identifies career pages, extracts job listings, and returns structured job posting data. The pipeline runs asynchronously. Use the returned run_id to poll for results.
Timing guidance: Most scrapes complete within 2-5 minutes. Companies with many pages or ATS-hosted job boards may take longer. Poll every 15-30 seconds.

How it works

  1. Maps the company website to discover URLs
  2. Identifies career/jobs pages using pattern matching and AI filtering
  3. Scrapes each career page and extracts job listings
  4. Applies optional title/location filters
  5. Analyzes each job posting in detail (salary, requirements, hiring manager, etc.)
If the company uses an external ATS (Greenhouse, Lever, Workday, Ashby, etc.), the scraper follows the redirect and paginates through all listings automatically.

Example responses

{
  "run_id": "run_abc123xyz",
  "status": "COMPLETED",
  "result": {
    "company": "Acme Corp",
    "url": "https://acme.com",
    "career_page_urls": ["https://jobs.lever.co/acme"],
    "total_found": 12,
    "jobs_analyzed": 12,
    "pages_scraped": 3,
    "jobs": [
      {
        "job_title": "Senior Software Engineer",
        "location": "London, UK",
        "city": "London",
        "country": "United Kingdom",
        "job_type": "full-time",
        "remote_policy": "hybrid",
        "department": "Engineering",
        "salary_min": 90000,
        "salary_max": 120000,
        "salary_currency": "GBP",
        "salary_period": "annual",
        "min_years_of_experience": 5,
        "requirements": ["5+ years TypeScript", "React", "Node.js"],
        "job_url": "https://jobs.lever.co/acme/abc-123",
        "ats_system": "lever",
        "posted_at": "2026-05-01"
      }
    ]
  },
  "started_at": "2026-05-15T10:00:00Z",
  "finished_at": "2026-05-15T10:03:42Z"
}
{
  "run_id": "run_def456uvw",
  "status": "COMPLETED",
  "result": {
    "company": "acme.com",
    "url": "https://acme.com",
    "total_found": 0,
    "jobs_analyzed": 0,
    "pages_scraped": 8,
    "jobs": []
  },
  "started_at": "2026-05-15T10:00:00Z",
  "finished_at": "2026-05-15T10:04:10Z"
}
{
  "run_id": "run_ghi789rst",
  "status": "QUEUED",
  "result": null,
  "started_at": null,
  "finished_at": null
}

Authorizations

Authorization
string
header
required

Bearer authentication header of the form Bearer <token>, where <token> is your auth token.

Body

application/json
company_url
string
required
company_name
string | null
max_pages
integer | null
default:10
target_titles
string[] | null
target_locations
string[] | null
filters
ScrapeFilters · object
known_career_page_url
string | null
known_career_page_urls
string[] | null

Response

Successful Response

request_id
string
required
status
string
default:QUEUED