CVMarket.lv Scraper
Pricing
from $1.49 / 1,000 results
CVMarket.lv Scraper
Under maintenanceScrape job listings from CVMarket.lv, Latvia's leading job board. Extract titles, companies, locations, salaries, descriptions, and more.
Pricing
from $1.49 / 1,000 results
Rating
0.0
(0)
Developer
Unfenced Group
Actor stats
0
Bookmarked
2
Total users
1
Monthly active users
2 days ago
Last modified
Categories
Share

Extract job listings from CVMarket.lv, Latvia's leading recruitment platform. Retrieve job titles, companies, locations, salaries, descriptions, and more — no account or API key required.
Features
- Keyword & location search — filter by job title, skills, or city
- Full job descriptions — HTML, plain text, and Markdown formats
- Salary data — structured min/max/currency/period when publicly listed
- Published & expiry dates — for freshness filtering and daily feeds
- Contract type & employment type — full-time, part-time, employee, etc.
- Cross-run deduplication — 90-day memory prevents processing the same job twice
- startUrls mode — scrape specific job detail pages directly
- Age filter — restrict results to jobs posted within N days
Input Parameters
| Parameter | Type | Default | Description |
|---|---|---|---|
searchQuery | String | "" | Keywords to search (e.g. "programmētājs", "grāmatvedis"). Empty = all jobs. |
location | String | "" | City or region (e.g. "Rīga", "Jūrmala"). Empty = all locations. |
maxResults | Integer | 100 | Maximum number of results to return. |
fetchDetails | Boolean | true | Fetch full description and dates from detail pages. Set false for fast list-only runs. |
skipReposts | Boolean | false | Skip jobs already seen in a previous run (90-day memory). |
daysOld | Integer | — | Return only jobs posted within this many days. Requires fetchDetails: true. |
startUrls | Array | [] | Specific CVMarket.lv job URLs to scrape directly, bypassing search. |
Output Schema
Each result contains the following fields:
Always present
| Field | Type | Description |
|---|---|---|
id | String | Unique job ID from CVMarket.lv |
url | String | Full URL of the job listing |
title | String | Job title |
company | String | Company name |
location | String | City or region |
contractType | String | e.g. "Full-time", "Part-time" |
employmentType | String | e.g. "Employee" |
category | String | Job category/industry |
source | String | Always "cvmarket.lv" |
scrapedAt | String | ISO timestamp of when the item was scraped |
contentHash | String | 16-char MD5 fingerprint for change detection |
summary | String | Short excerpt (≤200 chars) |
isRepost | Boolean | true if seen in a previous run |
originalPublishDate | String|null | Date first seen (when isRepost: true) |
originalUrl | String|null | Original URL (when isRepost: true) |
With fetchDetails: true
| Field | Type | Description |
|---|---|---|
publishDate | String | Publication date (YYYY-MM-DD) |
publishDateISO | String | Same as publishDate |
expiresDate | String|null | Listing expiry date (YYYY-MM-DD) |
salaryRaw | String|null | Raw salary text (e.g. "No 1900 €/mēn.") |
salaryMin | Integer|null | Minimum salary amount |
salaryMax | Integer|null | Maximum salary amount |
salaryCurrency | String|null | Currency code (e.g. "EUR") |
salaryPeriod | String|null | "MONTH", "HOUR", or "YEAR" |
workSchedule | String|null | e.g. "shift work", "flexible" |
descriptionHtml | String|null | Full job description as raw HTML |
descriptionText | String|null | Full description as plain text |
descriptionMarkdown | String|null | Full description as Markdown |
Example output
{"id": "1645408","url": "https://www.cvmarket.lv/remontatsledznieks-ce-latvijas-finieris-as-1645408","title": "Remontatslēdznieks/-ce","company": "AS \"Latvijas Finieris\"","location": "Rīga","publishDate": "2026-04-24","publishDateISO": "2026-04-24","expiresDate": "2026-05-24","salaryRaw": "No 1900 €/mēn.","salaryMin": 1900,"salaryMax": null,"salaryCurrency": "EUR","salaryPeriod": "MONTH","contractType": "Full-time","employmentType": "Employee","category": "Manufacturing / Production, Mechanics / Engineering","workSchedule": "shift work","descriptionHtml": "<div>...</div>","descriptionText": "Veikt siltuma un ķīmisko iekārtu montāžas...","descriptionMarkdown": "## Job Description\n\nVeikt siltuma...","source": "cvmarket.lv","scrapedAt": "2026-04-24T17:00:00.000Z","contentHash": "a1b2c3d4e5f60000","summary": "No 1900 €/mēn. Darbs rūpnīcā Lignums.","isRepost": false,"originalPublishDate": null,"originalUrl": null}
Usage Examples
1 — All IT jobs in Riga
{"searchQuery": "programmētājs","location": "Rīga","maxResults": 200,"fetchDetails": true}
2 — Daily feed of new jobs (last 24 hours)
{"maxResults": 500,"fetchDetails": true,"daysOld": 1,"skipReposts": true}
3 — Fast list-only run (no detail pages)
{"searchQuery": "grāmatvedis","maxResults": 500,"fetchDetails": false}
4 — Scrape specific job URLs
{"startUrls": [{ "url": "https://www.cvmarket.lv/programmētājs-company-1234567" },{ "url": "https://www.cvmarket.lv/grāmatvedis-company-7654321" }]}
Pricing
$1.49 per 1,000 results (Pay-Per-Event pricing).
A typical run retrieving 1,000 jobs with fetchDetails: true costs approximately $1.49. List-only runs (fetchDetails: false) cost the same per result but run significantly faster.
Performance
| Mode | Speed | Memory |
|---|---|---|
fetchDetails: true | ~80–120 jobs/min | 512 MB |
fetchDetails: false | ~300–400 jobs/min | 512 MB |
CVMarket.lv has no anti-bot measures for standard browsing — no proxy is required.
Data sourced from publicly available listings on CVMarket.lv. For enterprise data feeds or custom integrations, contact unfenced-group via the Apify Store.