Kariyer.net Scraper — Turkey Job Listings
Pricing
from $1.75 / 1,000 job listings
Kariyer.net Scraper — Turkey Job Listings
Collect job listings from Kariyer.net search-result cards. Get structured records with title, company, location, and dates. Run with searchQuery and no Kariyer.net login. Pricing: $0.0018 per listing plus $0.00005 per Actor start on Free.
Pricing
from $1.75 / 1,000 job listings
Rating
0.0
(0)
Developer
Vitalii Bondarev
Maintained by CommunityActor stats
0
Bookmarked
16
Total users
3
Monthly active users
4 days ago
Last modified
Categories
Features
Share
Kariyer.net Job Listings Scraper
Extract structured job listings from Kariyer.net's server-rendered search-result cards by keyword and page. On the Free plan, each delivered job-listing costs $0.0018 and each apify-actor-start event costs $0.00005.
- Search Kariyer.net by keyword for recruiter and staffing workflows without a Kariyer.net login.
- Paginate across result pages for Turkish job-market research.
- Collect structured records for job-board aggregation; no detail-page enrichment.
- Deduplicate within your own pipeline by
id. - Start with the default Apify Proxy
RESIDENTIALgroup and avoid manual proxy setup.
What you get
Each delivered record is one Kariyer.net job listing read from a search-result card. The Actor does not open job-detail pages, so many fields are always null.
| Field | Status |
|---|---|
id, url, source, scrapedAt | Populated: job identifier, listing URL, constant kariyer.net, scrape timestamp |
title, company, companyId, location, workModel, employmentType | Populated from the card when present |
sectorName, sectorId, cityId, countryName, countryId, jobCode, jobDateStatus | Populated from the card when present |
isSponsored | Populated from the card sponsor flag |
publishDate, publishDateISO | Estimated from the card's relative time text (same value in both; see below) |
salaryCurrency | Constant "TRY", not read from the listing |
contentHash | Derived from id, title and company |
isRepost | Always false |
Always null: district, positionLevel, experienceLevel, departmentName, companyWebsite, companySize, companyIndustry, applicationCount, closingDate, originalPublishDate, originalUrl, salaryMin, salaryMax, salaryPeriod, benefits, descriptionHtml, descriptionText, descriptionMarkdown.
Publish dates are estimates. They are computed from the card's relative time text (for example "3 gün önce") against the run date, with a month counted as 30 days and a year as 365 days. Minutes and hours map to today. If the card's time text is missing or cannot be parsed, the date equals the run date. They are not exact timestamps from Kariyer.net.
contentHash and isRepost are not repost signals: the hash is built from the listing id, title and company, and isRepost never changes.
Sample output
The sample below is shortened to the main listing fields; the values are copied from one real dataset record.
{"id": "4588260","url": "https://www.kariyer.net/is-ilani/solinved-batarya-teknolojileri-sanayi-ve-ticaret-a-is-gelistirme-muhendisi-4588260","title": "İş Geliştirme Mühendisi","company": "SOLİNVED BATARYA TEKNOLOJİLERİ SANAYİ VE TİCARET ANONİM ŞİRKETİ","location": "Ankara","workModel": "İş Yerinde","employmentType": "Tam zamanlı","sectorName": "Enerji","countryName": "Türkiye","isSponsored": true,"jobDateStatus": "Updated","publishDateISO": "2026-10-31","salaryCurrency": "TRY","isRepost": false,"source": "kariyer.net"}
Pricing
This Actor uses pay-per-event billing. A job-listing event represents one structured Kariyer.net job listing with all fields and is charged for each delivered listing. An apify-actor-start event is charged when the Actor starts running; the number of start events depends on Actor memory, with a minimum of one event.
| Plan | apify-actor-start | job-listing |
|---|---|---|
| Free | $0.00005 per event | $0.0018 per event |
| Bronze | $0.0000495 per event | $0.001782 per event |
| Silver | $0.000049 per event | $0.001764 per event |
| Gold | $0.0000485 per event | $0.001746 per event |
| Platinum | $0.000048 per event | $0.001728 per event |
| Diamond | $0.0000475 per event | $0.00171 per event |
For example, 1,000 results = $1.80 on Free for job-listing events; the same calculation gives 10,000 results = $18.00 on Free. A minimum of one Free-plan Actor Start event adds $0.00005 for that run. A run that delivers zero listings has no job-listing charge, although an Actor Start event can still apply.
The Apify Free plan includes $5 of monthly platform usage credit. Using one Free-plan Actor Start event, the corresponding result-event calculation is floor(($5.00 - $0.00005) / $0.0018) = 2,777 job listings.
For this pay-per-event Actor, compute, Apify Proxy traffic including residential traffic, and storage are included in the event prices and paid by the Actor developer. This Actor does not use the “Pay per event + usage” option, so platform usage is not separately charged to the user.
How to use
- Enter a
searchQuerysuch asyazilim. The default isdeveloper. - Set
maxResultsto the maximum number of listings you want andpagesToFetchto the number of result pages to request. - Use the default Apify Proxy configuration with the
RESIDENTIALgroup, or provide your ownproxyConfigurationif you have an Apify Proxy setup. - Run the Actor. It pushes extracted records to the dataset as listings are processed and charges one
job-listingevent per delivered listing. - Export the dataset as JSON or CSV, or read it through the Apify dataset API.
- Repeat the run through Apify Schedules if you want to refresh results; the interval is your choice.
Example input:
{"searchQuery": "yazilim","maxResults": 20,"pagesToFetch": 1,"proxyConfiguration": {"useApifyProxy": true,"apifyProxyGroups": ["RESIDENTIAL"]}}
Input parameters
| Parameter | What it does | Default |
|---|---|---|
searchQuery | Keyword inserted as-is into the Kariyer.net search URL path | "developer" |
maxResults | Maximum number of listings to collect; the input schema requires an integer of at least 1 | 50 |
pagesToFetch | Number of result pages to fetch; the input schema requires an integer of at least 1 | 1 |
proxyConfiguration | Proxy settings for requests | Apify Proxy with useApifyProxy: true and apifyProxyGroups: ["RESIDENTIAL"] |
disableUsageStats | Set to true to opt out of the usage-statistics record | false |
Limits and edge cases
Legal notes are in the FAQ.
| Condition | What you see | What to do |
|---|---|---|
| The search returns no cards that the Actor can parse | The dataset contains no delivered listings for that run | Try a different keyword or review the requested result pages |
| A field is not parsed from the search-result card | That field is returned as null (see the field table) | Use the populated fields; the Actor does not fetch detail pages |
maxResults is reached before all requested pages are processed | The Actor stops adding records after the requested result count | Increase maxResults if you need more listings |
| A requested page is fetched successfully but contains no extractable cards | No records are added from that page | Review the search query and page range |
| A page request receives an error or a 403/429 response | Five attempts in total (four retries); after the final failure, the Actor logs a warning and stops processing later pages | Check the query and proxy configuration, then run again |
| A later page fails after earlier pages succeeded | Records already pushed remain in the dataset and have already incurred their listing charges; later pages are not processed | Re-run with the same or adjusted settings if you need the later pages |
FAQ
How much does it cost to scrape Kariyer.net job listings?
On the Free plan, each delivered job-listing costs $0.0018 and each apify-actor-start event costs $0.00005. 1,000 results = $1.80 on Free for listing events, plus the applicable Free-plan Actor Start event.
What happens if the Actor returns an empty result?
The Actor can finish with no records when the requested Kariyer.net search pages contain no extractable listing cards. Try a different searchQuery, request another page range, or run again with the default residential proxy configuration.
What should I do if a run is not working?
The Actor makes five attempts per page request (four retries). If the request still fails, it logs a warning and stops processing later pages. Review proxyConfiguration, check the query, and run again; records already delivered from earlier pages remain in the dataset.
Why are descriptions, salaries, or benefits always null?
The Actor reads search-result cards only, so the fields listed as always null in the field table stay empty.
Is it legal to use public data from Kariyer.net?
The Actor reads only public data from search-result pages and does not log in. Kariyer.net's source terms and applicable law depend on your use case, so review them before using or redistributing the data; the Actor does not provide a legal guarantee.
Related actors
- AIJobs.net Scraper — extracts job listings from AIJobs.net, another job-listing source.
Rate this Actor
If Kariyer.net Scraper saved you time, please rate it on the Apify Store. A rating takes a few seconds and helps other people find a working scraper. If something did not work, open an issue on the Actor page.
Usage statistics
This Actor creates a small, content-free summary at the end of each run, used only to monitor reliability and improve this Actor. No input values, credentials or scraped data are sent.
A copy of the exact record for your run is saved as USAGE_STATS in your own Apify key-value store.
To opt out, set disableUsageStats to true in the input. Nothing is sent then.