OCC Mexico Jobs, Salary & Company Scraper
Pricing
from $6.80 / 1,000 results
OCC Mexico Jobs, Salary & Company Scraper
Scrape job listings from OCC, Mexico's largest job board. Get job title, hiring company, monthly salary range (MXN), city and state, remote flag, benefits, posting date and the direct job URL. Search many keywords and filter by location. Export to JSON, CSV or Excel.
Pricing
from $6.80 / 1,000 results
Rating
0.0
(0)
Developer
Scrapers Lat
Maintained by CommunityActor stats
0
Bookmarked
2
Total users
1
Monthly active users
10 days ago
Last modified
Categories
Share
OCC Mexico Jobs, Salary & Company Scraper
Here is one real result, with every field the actor returns:
{"keyword": "desarrollador","searchLocation": null,"jobId": "21278104","jobTitle": "Trainee de Flujo deEfectivo (Desarrollador)","company": "Grupo Salinas","companyUrl": "https://www.occ.com.mx/empleos/bolsa-de-trabajo-Grupo-Salinas/","location": "Tlalpan, Ciudad de México","city": "Tlalpan","state": "Ciudad de México","remote": false,"salaryText": "$ 8,500 Mensual","salaryMin": 8500,"salaryMax": 8500,"salaryCurrency": "MXN","salaryPeriod": "Mensual","salaryShown": true,"benefits": null,"benefitsCount": 0,"featured": true,"postedText": "Hoy","postedDate": "2026-08-10","companyLogo": "https://cdn-h4.occ.com.mx/images/logos/300x300/21/212cbf9d28dd4759b47e70364792d55f.jpg","jobUrl": "https://www.occ.com.mx/empleo/oferta/21278104","source": "OCC Mexico","observedAt": "2026-08-10T14:34:57.709Z"}
The most complete OCC Mexico jobs scraper available. It returns every field an OCC job listing exposes, including the company, the parsed salary range with currency and period, the location split into city and state, benefits, and posting dates, and lets you search multiple keywords with an optional location filter to collect exactly the postings you need.
📥 Input · 📤 Output · 💰 Pricing · ▶️ Examples
Table of contents
- What it does
- Quickstart
- Input reference
- Output reference
- Example output record
- Run via API and CLI
- Fetch results
- Billing and limits
- FAQ and troubleshooting
What it does
The actor searches OCC (occ.com.mx), Mexico's job board, for each keyword you pass, optionally restricted to a state or city, paginates through the matching postings, and writes one normalized record per job to the run's dataset. Each keyword runs its own search and the results are collected up to your maxJobs limit.
Each record carries the job title and job ID, the company with its OCC company page, the location split into city and state, the salary parsed into salaryMin, salaryMax, salaryCurrency and salaryPeriod (plus the raw salaryText), whether salary was shown, remote and featured flags, listed benefits, the posting date, the company logo and the direct job URL. Missing source values are returned as null, never invented.
Quickstart
Open the actor, paste this into the input, and press Run. It returns up to 10 postings matching "desarrollador" across Mexico.
{"keywords": ["desarrollador"],"maxJobs": 10}
Pass several keywords to search them all in one run, and set location to a Mexican state or city (for example jalisco, nuevo-leon, ciudad-de-mexico). Every input field is optional.
Input reference
| Field | Type | Required | Default | Description |
|---|---|---|---|---|
keywords | string[] | no | ["desarrollador"] | One or more search terms (job title, role or skill). Each keyword runs its own OCC search, for example contador, gerente de ventas. |
location | string | no | (all Mexico) | Restrict results to a Mexican state or city, for example jalisco, nuevo-leon, ciudad-de-mexico. |
maxJobs | integer | no | 10 | Maximum number of job postings to collect across all keywords. |
Output reference
One dataset item per job posting. Types: string, number, boolean, or null when the source value is absent.
| Field | Type | Description |
|---|---|---|
keyword | string | The search keyword that produced this result. |
searchLocation | string | The location filter used, or null when searching all of Mexico. |
jobId | string | OCC job ID (unique per posting). |
jobTitle | string | Job title as listed. |
company | string | Hiring company name. |
companyUrl | string | OCC company profile URL, or null. |
location | string | Full location string as shown. |
city | string | City parsed from the location, or null. |
state | string | Mexican state parsed from the location, or null. |
remote | boolean | true when the posting is flagged remote. |
salaryText | string | Raw salary text as shown, for example $ 8,500 Mensual. |
salaryMin | number | Parsed minimum salary, or null. |
salaryMax | number | Parsed maximum salary, or null. |
salaryCurrency | string | Salary currency, for example MXN, or null. |
salaryPeriod | string | Salary period, for example Mensual, or null. |
salaryShown | boolean | true when the employer shows a salary. |
benefits | string | Semicolon-separated benefits list, or null. |
benefitsCount | number | Number of listed benefits. |
featured | boolean | true when the posting is featured/promoted. |
postedText | string | Relative posting text as shown, for example Hoy, Hace 4 días. |
postedDate | string | Resolved posting date (YYYY-MM-DD). |
companyLogo | string | Company logo image URL, or null. |
jobUrl | string | Direct URL to the job posting. |
source | string | Always OCC Mexico. |
observedAt | string | ISO 8601 timestamp of when the record was collected. |
error | string | Present only on a failed run, when a single item with a populated error field is written instead. |
Example output record
Real record from a live run (input {"keywords": ["desarrollador"], "maxJobs": 10}). This posting hides its salary but lists benefits:
{"keyword": "desarrollador","searchLocation": null,"jobId": "21284500","jobTitle": "DESARROLLADOR DE INTELIGENCIA ARTIFICIAL","company": "Escuela Bancaria y Comercial","companyUrl": "https://www.occ.com.mx/empleos/bolsa-de-trabajo-Escuela-Bancaria-y-Comercial/","location": "Cuauhtémoc, Ciudad de México","city": "Cuauhtémoc","state": "Ciudad de México","remote": false,"salaryText": "Sueldo no mostrado por la empresa","salaryMin": null,"salaryMax": null,"salaryCurrency": null,"salaryPeriod": null,"salaryShown": false,"benefits": "Fondo de ahorro; Vales de despensa; Seguro de vida","benefitsCount": 3,"featured": false,"postedText": "Hace 4 días","postedDate": "2026-08-06","companyLogo": "https://cdn-h4.occ.com.mx/images/logos/300x300/bf/bf4be69c472b4e25a83b4239dc05f831.jpg","jobUrl": "https://www.occ.com.mx/empleo/oferta/21284500-desarrollador-de-inteligencia-artificial","source": "OCC Mexico","observedAt": "2026-08-10T14:34:57.710Z"}
Run via API and CLI
Start a run and wait for it to finish, then read the dataset. Replace <TOKEN> with your Apify API token.
Run synchronously and get dataset items in one call:
curl -X POST "https://api.apify.com/v2/acts/scrapers_lat~occ-mexico-jobs-scraper/run-sync-get-dataset-items?token=<TOKEN>" \-H "Content-Type: application/json" \-d '{"keywords":["desarrollador","data engineer"],"location":"jalisco","maxJobs":25}'
Start a run asynchronously:
curl -X POST "https://api.apify.com/v2/acts/scrapers_lat~occ-mexico-jobs-scraper/runs?token=<TOKEN>" \-H "Content-Type: application/json" \-d '{"keywords":["contador"],"maxJobs":100}'
Apify CLI:
apify call scrapers_lat/occ-mexico-jobs-scraper \--input '{"keywords":["gerente de ventas"],"location":"nuevo-leon"}'
Fetch results
Every run writes to a dataset. Fetch items as JSON, CSV, or Excel by changing format:
# JSONcurl "https://api.apify.com/v2/datasets/<DATASET_ID>/items?token=<TOKEN>&clean=true&format=json"# CSVcurl "https://api.apify.com/v2/datasets/<DATASET_ID>/items?token=<TOKEN>&clean=true&format=csv"# Paginate large datasetscurl "https://api.apify.com/v2/datasets/<DATASET_ID>/items?token=<TOKEN>&offset=1000&limit=1000"
<DATASET_ID> is returned as defaultDatasetId in the run object. Use offset and limit to page through large result sets. clean=true drops empty and internal fields.
Billing and limits
- Pay per result. You are charged per job record returned (
resultevent). See the pricing tab for the current per-result price. - No charge on failure. If a run errors, the actor writes a single item with a populated
errorfield and does not charge for it. Empty runs cost nothing. - Spend cap respected. Set
maxTotalChargeUsdon the run; once reached, the actor stops emitting and charging further billable results. - Free Apify plans are capped at 10 records per run. Upgrade for higher
maxJobs.
FAQ and troubleshooting
A run returned 0 records. Why?
The keyword (and optional location) matched no postings. Try a broader keyword or remove location. Zero-result runs are not charged.
How do I search several roles at once?
Pass multiple entries in keywords. Each runs its own OCC search and results are merged up to maxJobs.
Why is the salary null?
The employer did not publish a salary (salaryShown is false). The raw salaryText still shows what OCC displayed. Missing values are returned as null, never invented.
How do I restrict to one state or city?
Set location to a Mexican state or city slug, for example jalisco, nuevo-leon, ciudad-de-mexico.
Is this an official OCC tool? No. This actor is independent and has no affiliation with OCC Mundial. It reads only data that is publicly available on the OCC website.
Related scrapers
- Computrabajo Scraper: Latin American job board postings.
- Bumeran Jobs Scraper: Latin American Bumeran job postings.
- Catho Brasil Jobs Scraper: Brazilian Catho job postings.
- Indeed Jobs Scraper: Indeed job postings worldwide.
- Compranet Mexico Scraper: Mexican government procurement tenders.
More scrapers at scrapers.lat
Built and maintained by scrapers.lat, where we publish scrapers for US and Latin American public platforms: company registries, government data, finance, e-commerce and more. Browse the catalog or request a custom scraper at scrapers.lat.
Independent tool, not affiliated with OCC Mundial. Accesses only publicly available data from the OCC website.
