Djinni.co Jobs Scraper
Pricing
from $0.79 / 1,000 results
Djinni.co Jobs Scraper
Scrape 10,000+ IT job listings from Djinni.co — Ukraine's leading tech job board. Filter by skill, experience, English level and contract type.
Pricing
from $0.79 / 1,000 results
Rating
0.0
(0)
Developer
Unfenced Group
Maintained by CommunityActor stats
2
Bookmarked
31
Total users
11
Monthly active users
5 days ago
Last modified
Categories
Share

Extract job listings from djinni.co at scale, in a clean, consistent structure ready for analysis, job boards, recruiting tools and market research. No API key required.
Why this scraper?
🎯 Built for Ukraine
A dedicated Ukrainian tech scraper, not a global tool with a country dropdown. Search, locations and currency (USD) are tuned for djinni.co.
📄 Complete job data
Full job title and description, direct listing URL and publish date for every record.
💶 Salary data
Salary information parsed from the listing where the employer publishes it, in USD. Missing salaries are returned as null, never guessed.
🏢 Company details
Hiring company name plus the profile details the source publishes, such as logo and company page.
📍 Location fields
Structured location data for every listing, ready for filtering and analysis.
🔁 Repost & change detection
Every record carries isRepost and changeStatus, so daily feeds return genuinely new jobs instead of reposted duplicates.
Input parameters
| Parameter | Type | Default | Description |
|---|---|---|---|
searchQuery | string | "developer" | All these keywords must appear in the job listing. |
anyKeywords | string | (empty) | At least one of these keywords must appear. |
excludeKeywords | string | (empty) | Exclude listings containing any of these keywords. |
category | string | (empty) | Primary job category / skill, e.g. 'Python', 'React', 'QA'. |
company | string | (empty) | Filter by company name. |
salaryMin | integer | (empty) | Return only listings with salary at or above this value. |
employment | string | (empty) | Filter by contract type. |
experienceLevel | string | (empty) | Required experience level. |
englishLevel | string | (empty) | Required English language level. |
companyType | string | (empty) | Type of hiring company. |
region | string | (empty) | Filter by candidate location/region, e.g. 'ukraine', 'europe'. |
searchType | string | "basic-search" | Search mode. |
startUrls | array | (empty) | Optional list of Djinni.co job listing URLs to scrape directly. |
fetchDetails | boolean | false | Fetch full job details from individual listing pages. |
maxItems | integer | 100 | Maximum number of job listings to return. Set to 0 for no limit. |
Output schema
Every field below is present on every record. Fields the source does not publish for a given job are returned as null rather than omitted.
| Field | Type | Description |
|---|---|---|
id | string | Unique listing ID from the source. |
url | string | Direct link to the listing. |
title | string | Job title as published. |
companyName | string | Hiring company name. |
companyUrl | string | Link to the company's page on the source. |
categoryId | string | Category id. |
categoryName | string | Category name. |
domain | string | Domain. |
workFormat | string | Work format. |
isRemote | boolean | true when the listing is marked as remote. |
isPartTime | boolean | Is part time. |
salaryMin | string | Minimum salary filter (USD/month) |
salaryMax | string | Maximum salary (null if not published by the employer). |
currency | string | Currency. |
experienceYears | number | Experience years. |
englishLevel | string | Required English: no_english, basic, pre, upper, fluent |
englishLevelName | string | English level name. |
location | string | Location as displayed on the listing. |
isUkraineOnly | boolean | Is ukraine only. |
publishDate | string | Publish date. |
hasTest | boolean | Has test. |
viewsCount | number | Views count. |
applicationsCount | number | Applications count. |
isOnline | boolean | Is online. |
descriptionText | string | Full job description in plain text. |
descriptionMarkdown | string | Full description converted to Markdown. |
source | string | Source. |
scrapedAt | string | Timestamp when this record was scraped. |
contentHash | string | Stable hash of the listing content, used for repost and change detection. |
changeStatus | string | NEW, CHANGED or UNCHANGED compared to the previous time this job was seen. |
Example record
{"id": "823566","url": "https://djinni.co/jobs/823566-pilot-testuval-nik-bpla-uav-test-pilot/","title": "Пілот-тестувальник БпЛА / UAV Test Pilot","companyName": "Trypillian","companyUrl": "https://www.trypillian.com/","categoryId": "deftech","categoryName": "DefTech","domain": "other","workFormat": "Office Work","isRemote": false,"isPartTime": false,"salaryMin": null,"salaryMax": null,"currency": null,"experienceYears": 0.5,"englishLevel": "intermediate","englishLevelName": "B1 - Intermediate","location": null,"isUkraineOnly": false,"publishDate": "2026-07-02","hasTest": false,"viewsCount": 104,"applicationsCount": 5,"isOnline": true,"descriptionText": "Ми — команда, яка розробляє та вдосконалює сучасні безпілотні системи для defense-tech напрямку. Шукаємо Пілота-тестувальника БпЛА, який буде відповідати за тестові польоти, перевірку працездатності д …","descriptionMarkdown": "Ми — команда, яка розробляє та вдосконалює сучасні безпілотні системи для defense-tech напрямку. Шукаємо Пілота-тестувальника БпЛА, який буде відповідати за тестові польоти, перевірку працездатності д …","source": "djinni.co","scrapedAt": "2026-07-02T12:26:50.561Z","contentHash": "3d45be0bb97c3180","changeStatus": "REAPPEARED"}
Examples
Search for Python developer roles in Kyiv:
{"searchQuery": "Python developer","region": "Kyiv","maxItems": 100}
Filter by contract type:
{"searchQuery": "Python developer","region": "Kyiv","maxItems": 100,"category": "FULL_TIME"}
Scrape a specific search URL:
{"startUrls": [{"url": "https://www.djinni.co/"}],"maxItems": 200}
Daily feed (run on a schedule):
{"searchQuery": "Python developer","maxItems": 500}
Schedule this input in the Apify Scheduler (for example daily at 07:00) to keep an always-fresh feed of the newest listings.
💰 Pricing
$0.99 per 1,000 results — you only pay for successfully retrieved listings. Failed retries are never charged.
| Results | Cost |
|---|---|
| 100 | ~$0.10 |
| 1,000 | ~$0.99 |
| 10,000 | ~$9.9 |
| 100,000 | ~$99 |
Flat-rate alternatives typically charge $29–$49/month regardless of usage.
Subscription tiers lower the rate further, down to $0.59 per 1,000 at the highest tier. Use the Max results cap in the input to control your spend exactly.
Performance
| Run size | Typical time |
|---|---|
| 100 results | under 1 minute |
| 1,000 results | 2–4 minutes |
| 10,000 results | 20–35 minutes |
Known limitations
- Salary is only returned when the employer publishes it — many listings carry
nullsalary fields. - Company details vary per listing; the scraper returns what the source publishes and never invents data.
- Very large result sets are bounded by the source's own paging limits.
- Listings can be removed by the source at any time, so a small share of URLs may expire shortly after scraping.
Technical details
- Source: djinni.co — Ukraine job listings
- Push notifications: get new results delivered to Telegram, Discord, Slack, WhatsApp or any webhook the moment a scheduled run finds them
- Coverage: everything the public search exposes, filterable via the input parameters above
- Retry: automatic retry on network errors with exponential backoff
Rate this actor
If this scraper does its job, a short review on the Reviews tab helps other users find it. Something not working? Open an issue on the Issues tab instead — issues get fixed.
Need a custom scraper?
Unfenced Group builds Apify actors for any website — for free.
If the site you need isn't in our portfolio yet, just ask. We scope, build, and publish it at no cost to you. You only pay for results — we absorb the compute and proxy costs ourselves. Same pay-per-result pricing, same quality, same standards as every actor in this portfolio.
Get in touch: www.unfencedgroup.nl