cv.lv APIcv.lv ↗
Access job listings, detailed vacancy data, employer profiles, and location reference data from CV.lv via 6 structured API endpoints.
curl -X GET 'https://api.parse.bot/scraper/b83ed2d4-356d-497c-a5ab-501d3b188023/search_jobs?limit=5&offset=0&sorting=RELEVANCE&keywords=developer' \ -H 'X-API-Key: $PARSE_API_KEY'
Search and filter job listings on CV.lv. Returns paginated vacancy results along with facet counts for categories, locations, languages, and work times.
| Param | Type | Description |
|---|---|---|
| limit | integer | Max results per page |
| towns | string | Comma-separated list of town IDs (e.g. 543 for Riga) |
| offset | integer | Results offset for pagination |
| sorting | string | Sort order: RELEVANCE, DATE, or SALARY |
| counties | string | Comma-separated list of county IDs |
| keywords | string | Search keywords (position title, company, etc.) |
| is_hourly | boolean | True to filter for hourly salary jobs |
| is_remote | boolean | True to filter for remote work positions |
| languages | string | Comma-separated list of language ISO codes |
| categories | string | Comma-separated list of category codes (e.g. INFORMATION_TECHNOLOGY, SALES, TRADE) |
| work_times | string | Comma-separated list of work time codes (FULL_TIME, PART_TIME, FIXED_TERM, FULL_TIME_WITH_SHIFTS, PRACTICE, FREELANCE, WORK_AFTER_CLASSES) |
| employer_id | integer | Filter by specific employer ID |
| salary_from | integer | Minimum salary amount |
| salary_type | string | Salary type: MONTHLY or HOURLY |
{
"type": "object",
"fields": {
"towns": "object with town ID keys and job count values",
"languages": "object with language ISO keys and job count values",
"vacancies": "array of vacancy objects with id, positionTitle, employerName, salaryFrom, salaryTo, townId, remoteWork, publishDate",
"workTimes": "object with work time code keys and job count values",
"categories": "object with category code keys and job count values",
"totalResultsCount": "integer total number of matching results"
},
"sample": {
"data": {
"towns": {
"543": 1831
},
"languages": {
"en": 897,
"lv": 1214
},
"vacancies": [
{
"id": 1576810,
"townId": 543,
"salaryTo": 4000,
"remoteWork": true,
"salaryFrom": 3200,
"publishDate": "2026-05-14T11:01:45.949+00:00",
"employerName": "CV-Online Recruitment",
"positionTitle": "Vendor Manager",
"remoteWorkType": "HYBRID"
}
],
"workTimes": {
"FULL_TIME": 2190
},
"categories": {
"SALES": 488,
"INFORMATION_TECHNOLOGY": 407
},
"totalResultsCount": 2414
},
"status": "success"
}
}About the cv.lv API
The CV.lv API provides access to Latvia's major job portal through 6 endpoints covering vacancy search, full job details, employer profiles, and reference data. The search_jobs endpoint returns paginated vacancy results with salary ranges, remote work flags, and facet counts for categories, locations, and work times. Use get_job_details to retrieve complete posting content including contact information, employer background, and similar job suggestions.
Job Search and Vacancy Data
The search_jobs endpoint accepts filters including keywords, towns (comma-separated town IDs), counties, is_remote, is_hourly, and sorting (RELEVANCE, DATE, or SALARY). Each vacancy in the response includes positionTitle, employerName, salaryFrom, salaryTo, townId, remoteWork, and publishDate. The response also returns facet counts in towns, categories, workTimes, and languages objects, which are useful for building filter UIs or aggregating market data. Pagination is handled through limit and offset parameters alongside totalResultsCount.
Detailed Job Postings and Employer Profiles
get_job_details takes a required vacancy_id and optional job_slug and employer_slug to return the full posting. The details field contains a standardDetails array with HTML-formatted job description content. The highlights object surfaces structured compensation data (salaryFrom, salaryTo, ratePer, workTimes, remoteWork, address, location). Contact details appear in a contacts object with firstName, lastName, email, and phone. The employer object provides about, webpageUrl, and logoFileId. A similar array lists related vacancies.
Reference and Directory Data
list_locations returns towns, counties, and countries with their IDs and names, enabling mapping between search parameters and human-readable labels — for example, town ID 543 corresponds to Riga. list_job_categories returns a mapping from numeric IDs to category code strings. get_directory_hits returns directory items by type (LOCATION, CATEGORY, or POPULAR_LINK) with multilingual locales titles and urlParameters, making it useful for site navigation or localized category listings. get_top_employers lists actively hiring companies with vacancyCount, about, and logo identifiers.
- Aggregate salary ranges by job category using
salaryFrom/salaryToacrosssearch_jobsresults - Build a Latvia job board filtered by remote work using the
is_remoteparameter - Track employer hiring activity over time via
vacancyCountfromget_top_employers - Map job density by region using town and county facet counts from
search_jobs - Populate category and location filter dropdowns from
list_job_categoriesandlist_locations - Extract recruiter contact details (
email,phone) fromget_job_detailsfor outreach workflows - Identify similar open roles via the
similararray inget_job_detailsfor candidate recommendation engines
| Tier | Price | Credits/month | Rate limit |
|---|---|---|---|
| Free | $0/mo | 100 | 5 req/min |
| Hobby | $30/mo | 1,000 | 20 req/min |
| Developer | $100/mo | 5,000 | 250 req/min |
One credit = one API call regardless of which marketplace API you call. Exceeding the rate limit returns a 429 response. Authenticate with the X-API-Key header.
Does CV.lv offer an official developer API?+
What does `search_jobs` return beyond job titles and salaries?+
id, positionTitle, employerName, salaryFrom, salaryTo, townId, remoteWork, and publishDate. The response also includes facet count objects for towns, categories, workTimes, and languages, which show how many jobs match each filter dimension across the full result set.Does the API return job application links or direct apply functionality?+
Is CV.lv data limited to Latvia, or does it cover other countries?+
list_locations endpoint returns towns, counties, and countries with iso codes, so the reference data does include country-level entries. In practice, CV.lv is a Latvian-focused platform and the majority of listings are based in Latvia. Cross-border coverage beyond Latvia is limited by what the source publishes.Can I retrieve a full list of all active vacancies without keywords?+
keywords parameter in search_jobs is optional. Omitting it returns all available vacancies subject to any other filters you apply. Use limit and offset to page through results, and check totalResultsCount to know how many pages to request.