OCC Jobs Scraper avatar

OCC Jobs Scraper

Pricing

from $1.99 / 1,000 results

Go to Apify Store
OCC Jobs Scraper

OCC Jobs Scraper

Extract real OCC Mexico job listings and full descriptions using public HTTP detail API requests. Includes verified source IDs, titles, locations, education, work modes and available salaries, with bounded parallelism and proxy analytics. No paid vendor API key required.

Pricing

from $1.99 / 1,000 results

Rating

0.0

(0)

Developer

Jobs Scraper

Jobs Scraper

Maintained by Community

Actor stats

0

Bookmarked

3

Total users

0

Monthly active users

9 days ago

Last modified

Categories

Share

OCC Jobs Scraper

Collect actual public job vacancies from OCC in Mexico. The Actor searches the source's current vacancy cards and matches their numeric IDs to real URLs in the source's structured ItemList. It does not turn navigation links, generic page titles, search breadcrumbs, or diagnostic messages into job records. No paid third-party vendor API key is required. Configured Apify proxy access can still require an authorized account and incur platform charges.

How extraction works

The default search is ingeniero de software in Ciudad de México. HTTP requests read current public vacancy cards and the source's own JSON detail API. The public portal parameters are discovered from the search page rather than guessed. Each detail must match the listing's numeric job ID, canonical URL ID, and title before its full description can be saved. Three simultaneous detail requests are allowed by default; the output limit is enforced even when requests finish together. No paid vendor API key is required. The Actor never clicks Apply or signs into candidate accounts. Missing descriptions are not generated, and blocked requests do not count as recovery.

Direct requests to ordinary detail HTML pages previously returned HTTP 403. The actual public API uses a different source-provided host and portal selectors; it is not inferred from those HTML detail URLs. transport: "http" is the default. transport: "browser" explicitly selects the older normal card-panel reader, not an automatic retry after a denied HTTP request. The Actor does not solve CAPTCHAs or bypass login requirements. Availability still depends on OCC, its current layout, and your authorized proxy route.

Input

{
"keyword": "ingeniero de software",
"location": "Ciudad de México",
"maxItems": 10,
"transport": "http",
"detailConcurrency": 3,
"proxyEnabled": true,
"proxyMode": "auto",
"googleSearchFallbackEnabled": false
}

See the Input tab for all configuration options. maxItems is an integer from 1 to 1000, with a default of 10. An optional official HTTPS startUrl under occ.com.mx/empleos/ overrides the generated keyword/location path. Its native query filters and initial page are retained. maxPages bounds pagination (default 3). Other hosts, credentials in URLs, and non-search routes are rejected. requestTimeoutSecs defaults to 25; detailConcurrency accepts 1–5. The legacy jobType, experienceLevel, and datePosted shortcuts must stay empty; non-default sortBy and remoteOnly shortcuts are rejected rather than ignored. Use a genuine native OCC search URL for such filters. Not every native filter combination has been independently verified.

Output and provenance

Each dataset item has its actual jobId, jobTitle, jobUrl, source location where available, full description, descriptionHtml, and extractionStatus. API records are labelled detail_api with extractionMethod: "public_http_api". rawData.sourceIdentity records the verified ID, title, and canonical URL; selected public details are in rawData.sourceOffer. Browser records use detail_public_panel and rawData.detailPanel. Source-provided employer names, benefits, salaries, posting dates, education, categories, and work-mode labels are included when exposed. Confidential employers and undisclosed salaries are not invented. Unknown, null, blank, and empty-container values are omitted; real zero and false values are retained.

FieldTypeMeaning
jobIdstringNative OCC vacancy ID
jobTitlestringTitle matched against the detail response
jobUrlstringPublic source vacancy URL, tracking removed
descriptionstringFull source description, not a search snippet
locationstringLocation exposed by OCC, not the input echoed back
educationstringEducation requirement when published
workModestringOn-site, Hybrid, or Remote when the source enum exists
rawDataobjectSelected public identity and detail provenance

You can download the dataset in various formats such as JSON, HTML, CSV, or Excel. These abbreviated examples illustrate the shape only; they are not test evidence or fallback records:

[
{"jobId":"21000001","jobTitle":"Example Engineer","jobUrl":"https://www.occ.com.mx/empleo/oferta/21000001-example-engineer","description":"Example source role description, abbreviated for documentation.","extractionStatus":"detail_api"},
{"jobId":"21000002","jobTitle":"Example Analyst","jobUrl":"https://www.occ.com.mx/empleo/oferta/21000002-example-analyst","description":"Another abbreviated illustrative source role description.","extractionStatus":"detail_api"}
]

Description markup is untrusted source content. Sanitize it before displaying it in another application. Dates may remain the source's relative labels rather than fabricated absolute timestamps. includeCompanyDetails and includeSalary control the corresponding available fields. The public job URL is not proof that an application has been submitted or that its eventual destination accepts automated access.

Proxy, diagnostics, and optional search index

proxyMode supports auto, residential, datacenter, or none. Auto tries available authorized route configurations before requesting the source; it does not rotate routes after an HTTP denial. It does not guarantee that OCC will accept a route. RUN_SUMMARY records route counts and status totals without proxy credentials. SOURCE_METADATA records request transport, public route selectors, status codes, and detail attempt evidence. HTTP 401, 403, 429, or 503 stops further scheduling. At most the already in-flight bounded requests can finish. HTML diagnostics and no-output errors remain in the key-value store, not the job dataset. A zero-record extraction fails the run.

The paid Google-index fallback is off by default. Explicitly enabling it can call another Apify Actor and incur additional charges. Any resulting indexed-only records are separately labelled and do not establish full live job-detail access or justify clearing maintenance.

Local testing, deployment, and maintenance

Install the declared dependencies, provide input, and run apify run locally. Local datasets are not uploaded to Apify Console. Deployment requires apify push with an account allowed to edit the intended jobscrawler Actor, followed by a separate production run. Inspect actual dataset contents as well as the run status. Keep maintenance enabled until both current-code local and production runs return usable real output. Production verification is not established by a local test.

Costs, limitations, and support

Browser execution, proxy traffic, and any explicitly enabled child Actor can consume paid platform resources. Consult current Store and Apify pricing rather than relying on a fixed estimate. Vacancies can change, disappear, or require manual access; results depend on source availability and current layout. Use public data responsibly and comply with source terms and applicable law. OCC does not endorse this Actor. For support, report the input without secrets, failed source URL, run ID, and relevant diagnostic key through the Actor's issue channel.