{
  "openapi": "3.0.1",
  "info": {
    "title": "Djinni Jobs Scraper - Ukraine & Remote IT Jobs (djinni.co)",
    "description": "Extract tech job postings from Djinni (Джин), Ukraine's top IT job board with remote jobs across Europe. Filter by category, experience, English level, remote/office, region, salary and domain, and get full descriptions, salary, company, views and applications as clean JSON.",
    "version": "1.0",
    "x-build-id": "fRzXl7cXHWiYC0RHG"
  },
  "servers": [
    {
      "url": "https://api.apify.com/v2"
    }
  ],
  "paths": {
    "/acts/asiajobs~djinni-jobs-scraper/run-sync-get-dataset-items": {
      "post": {
        "operationId": "run-sync-get-dataset-items-asiajobs-djinni-jobs-scraper",
        "x-openai-isConsequential": false,
        "summary": "Executes an Actor, waits for its completion, and returns Actor's dataset items in response.",
        "tags": [
          "Run Actor"
        ],
        "requestBody": {
          "required": true,
          "content": {
            "application/json": {
              "schema": {
                "$ref": "#/components/schemas/inputSchema"
              }
            }
          }
        },
        "parameters": [
          {
            "name": "token",
            "in": "query",
            "required": true,
            "schema": {
              "type": "string"
            },
            "description": "Enter your Apify token here"
          }
        ],
        "responses": {
          "200": {
            "description": "OK"
          }
        }
      }
    },
    "/acts/asiajobs~djinni-jobs-scraper/runs": {
      "post": {
        "operationId": "runs-sync-asiajobs-djinni-jobs-scraper",
        "x-openai-isConsequential": false,
        "summary": "Executes an Actor and returns information about the initiated run in response.",
        "tags": [
          "Run Actor"
        ],
        "requestBody": {
          "required": true,
          "content": {
            "application/json": {
              "schema": {
                "$ref": "#/components/schemas/inputSchema"
              }
            }
          }
        },
        "parameters": [
          {
            "name": "token",
            "in": "query",
            "required": true,
            "schema": {
              "type": "string"
            },
            "description": "Enter your Apify token here"
          }
        ],
        "responses": {
          "200": {
            "description": "OK",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/runsResponseSchema"
                }
              }
            }
          }
        }
      }
    },
    "/acts/asiajobs~djinni-jobs-scraper/run-sync": {
      "post": {
        "operationId": "run-sync-asiajobs-djinni-jobs-scraper",
        "x-openai-isConsequential": false,
        "summary": "Executes an Actor, waits for completion, and returns the OUTPUT from Key-value store in response.",
        "tags": [
          "Run Actor"
        ],
        "requestBody": {
          "required": true,
          "content": {
            "application/json": {
              "schema": {
                "$ref": "#/components/schemas/inputSchema"
              }
            }
          }
        },
        "parameters": [
          {
            "name": "token",
            "in": "query",
            "required": true,
            "schema": {
              "type": "string"
            },
            "description": "Enter your Apify token here"
          }
        ],
        "responses": {
          "200": {
            "description": "OK"
          }
        }
      }
    }
  },
  "components": {
    "schemas": {
      "inputSchema": {
        "type": "object",
        "properties": {
          "searchUrl": {
            "title": "Djinni search URL (optional)",
            "type": "string",
            "description": "Paste any djinni.co/jobs/ URL with the filters you set on the site, e.g. https://djinni.co/jobs/?primary_keyword=Python&exp_level=3y&employment=remote. When set, the filters below are ignored."
          },
          "primaryKeywords": {
            "title": "Categories (primary keywords)",
            "type": "array",
            "description": "Djinni job categories as used in the primary_keyword URL parameter, e.g. Python, Java, JavaScript, React.js, Node.js, .NET, PHP, Golang, DevOps, QA, Data Science, Product Manager, Project Manager, Design, Marketing, Sales. Leave empty for all categories.",
            "items": {
              "type": "string"
            }
          },
          "keywords": {
            "title": "Search keywords",
            "type": "string",
            "description": "Jobs must contain all of these words, e.g. 'django aws'."
          },
          "searchType": {
            "title": "Keyword search mode",
            "enum": [
              "basic-search",
              "full-text",
              "title-only"
            ],
            "type": "string",
            "description": "Where to look for the search keywords.",
            "default": "basic-search"
          },
          "anyOfKeywords": {
            "title": "Any of these keywords",
            "type": "string",
            "description": "Jobs containing at least one of these words."
          },
          "excludeKeywords": {
            "title": "Exclude keywords",
            "type": "string",
            "description": "Skip jobs containing these words, e.g. 'gambling crypto'."
          },
          "experienceLevels": {
            "title": "Experience",
            "type": "array",
            "description": "Years of experience required (any of).",
            "items": {
              "type": "string",
              "enum": [
                "no_exp",
                "1y",
                "2y",
                "3y",
                "4y",
                "5y",
                "6y",
                "7y",
                "8y",
                "9y",
                "10y"
              ],
              "enumTitles": [
                "No experience",
                "1 year",
                "2 years",
                "3 years",
                "4 years",
                "5 years",
                "6 years",
                "7 years",
                "8 years",
                "9 years",
                "10 years or more"
              ]
            }
          },
          "employment": {
            "title": "Work format",
            "type": "array",
            "description": "Remote, part-time or office jobs (any of).",
            "items": {
              "type": "string",
              "enum": [
                "remote",
                "parttime",
                "office"
              ],
              "enumTitles": [
                "Remote",
                "Part-time",
                "Office"
              ]
            }
          },
          "regions": {
            "title": "Candidate region",
            "type": "array",
            "description": "Where the employer considers candidates (any of).",
            "items": {
              "type": "string",
              "enum": [
                "worldwide",
                "UKR",
                "eu",
                "other"
              ],
              "enumTitles": [
                "Worldwide",
                "Ukraine",
                "EU countries",
                "Other countries"
              ]
            }
          },
          "ukraineCities": {
            "title": "Ukrainian cities",
            "type": "array",
            "description": "Office location in Ukraine (any of).",
            "items": {
              "type": "string",
              "enum": [
                "kyiv",
                "vinnytsia",
                "dnipro",
                "ivano-frankivsk",
                "zhytomyr",
                "zaporizhzhia",
                "lviv",
                "mykolaiv",
                "odesa",
                "kropyvnytskyi",
                "lutsk",
                "poltava",
                "rivne",
                "sumy",
                "ternopil",
                "kherson",
                "kharkiv",
                "khmelnytskyi",
                "cherkasy",
                "chernihiv",
                "chernivtsi",
                "uzhhorod"
              ],
              "enumTitles": [
                "Kyiv",
                "Vinnytsia",
                "Dnipro",
                "Ivano-Frankivsk",
                "Zhytomyr",
                "Zaporizhzhia",
                "Lviv",
                "Mykolaiv",
                "Odesa",
                "Kropyvnytskyi",
                "Lutsk",
                "Poltava",
                "Rivne",
                "Sumy",
                "Ternopil",
                "Kherson",
                "Kharkiv",
                "Khmelnytskyi",
                "Cherkasy",
                "Chernihiv",
                "Chernivtsi",
                "Uzhhorod"
              ]
            }
          },
          "countries": {
            "title": "Countries (ISO codes)",
            "type": "array",
            "description": "Job country as 3-letter ISO codes used by Djinni, e.g. UKR, POL, DEU, ESP, PRT, CYP, ROU, CZE, GBR, USA.",
            "items": {
              "type": "string"
            }
          },
          "englishLevels": {
            "title": "English level",
            "type": "array",
            "description": "Required English level (any of).",
            "items": {
              "type": "string",
              "enum": [
                "no_english",
                "basic",
                "pre",
                "intermediate",
                "upper",
                "fluent",
                "proficient",
                "native"
              ],
              "enumTitles": [
                "No English",
                "Beginner/Elementary",
                "Pre-Intermediate",
                "Intermediate",
                "Upper-Intermediate",
                "Advanced/Fluent",
                "Proficient",
                "Native Speaker"
              ]
            }
          },
          "companyTypes": {
            "title": "Company type",
            "type": "array",
            "description": "Product, outsource, startup, etc. (any of).",
            "items": {
              "type": "string",
              "enum": [
                "agency",
                "mixed",
                "outsource",
                "outstaff",
                "product",
                "startup",
                "inhouse_it",
                "government"
              ],
              "enumTitles": [
                "Agency",
                "Mixed",
                "Outsource",
                "Outstaff",
                "Product",
                "Startup",
                "In-house IT in non-IT company",
                "Government / Public sector"
              ]
            }
          },
          "domains": {
            "title": "Domain",
            "type": "array",
            "description": "Business domain (any of).",
            "items": {
              "type": "string",
              "enum": [
                "advertising",
                "adult",
                "agriculture",
                "automotive",
                "crypto",
                "dating",
                "ecommerce",
                "edutech",
                "energy",
                "entertainment",
                "fintech",
                "gambling",
                "gamedev",
                "govtech",
                "hardware",
                "healthcare",
                "hrtech",
                "legaltech",
                "logistics",
                "manufacturing",
                "media",
                "miltech",
                "ml",
                "mobile",
                "proptech",
                "saas",
                "security",
                "sports_fitness",
                "telecom",
                "travel",
                "other"
              ],
              "enumTitles": [
                "Advertising / Marketing",
                "Adult",
                "Agriculture / Food Tech",
                "Automotive",
                "Blockchain / Crypto",
                "Dating",
                "E-commerce / Marketplace",
                "Education",
                "Energy / Utilities",
                "Entertainment / Streaming",
                "Fintech",
                "Gambling",
                "Gamedev",
                "GovTech",
                "Hardware / IoT",
                "Healthcare / MedTech",
                "HRTech",
                "LegalTech",
                "Logistics / Supply Chain",
                "Manufacturing",
                "Media",
                "DefTech",
                "Machine Learning / Big Data",
                "Mobile",
                "PropTech / Real Estate",
                "SaaS",
                "Security",
                "Sports and Fitness",
                "Telecom / Communications",
                "Travel / Tourism",
                "Other"
              ]
            }
          },
          "minSalary": {
            "title": "Minimum salary (USD / month)",
            "minimum": 0,
            "maximum": 10000,
            "type": "integer",
            "description": "Only jobs offering at least this monthly salary in USD (Djinni uses steps of 500). Leave empty for any."
          },
          "publicSalaryOnly": {
            "title": "Only jobs with a public salary",
            "type": "boolean",
            "description": "Only postings that show the salary range.",
            "default": false
          },
          "includeStale": {
            "title": "Include jobs with no recruiter activity",
            "type": "boolean",
            "description": "Djinni hides postings whose recruiter has been inactive; turn on to include them.",
            "default": false
          },
          "includeDetails": {
            "title": "Include full job details",
            "type": "boolean",
            "description": "Fetch each job page for all-time views and applications, required languages, skills with years, the original publish date, last recruiter response, company link and the salary range of similar jobs. The full description is always included.",
            "default": false
          },
          "maxItems": {
            "title": "Max jobs",
            "minimum": 1,
            "maximum": 10000,
            "type": "integer",
            "description": "Maximum number of jobs to return.",
            "default": 100
          },
          "proxyConfiguration": {
            "title": "Proxy",
            "type": "object",
            "description": "Proxy settings. Djinni works best WITHOUT a proxy (the default); only change this if you know you need one.",
            "default": {
              "useApifyProxy": false
            }
          }
        }
      },
      "runsResponseSchema": {
        "type": "object",
        "properties": {
          "data": {
            "type": "object",
            "properties": {
              "id": {
                "type": "string"
              },
              "actId": {
                "type": "string"
              },
              "userId": {
                "type": "string"
              },
              "startedAt": {
                "type": "string",
                "format": "date-time",
                "example": "2025-01-08T00:00:00.000Z"
              },
              "finishedAt": {
                "type": "string",
                "format": "date-time",
                "example": "2025-01-08T00:00:00.000Z"
              },
              "status": {
                "type": "string",
                "example": "READY"
              },
              "meta": {
                "type": "object",
                "properties": {
                  "origin": {
                    "type": "string",
                    "example": "API"
                  },
                  "userAgent": {
                    "type": "string"
                  }
                }
              },
              "stats": {
                "type": "object",
                "properties": {
                  "inputBodyLen": {
                    "type": "integer",
                    "example": 2000
                  },
                  "rebootCount": {
                    "type": "integer",
                    "example": 0
                  },
                  "restartCount": {
                    "type": "integer",
                    "example": 0
                  },
                  "resurrectCount": {
                    "type": "integer",
                    "example": 0
                  },
                  "computeUnits": {
                    "type": "integer",
                    "example": 0
                  }
                }
              },
              "options": {
                "type": "object",
                "properties": {
                  "build": {
                    "type": "string",
                    "example": "latest"
                  },
                  "timeoutSecs": {
                    "type": "integer",
                    "example": 300
                  },
                  "memoryMbytes": {
                    "type": "integer",
                    "example": 1024
                  },
                  "diskMbytes": {
                    "type": "integer",
                    "example": 2048
                  }
                }
              },
              "buildId": {
                "type": "string"
              },
              "defaultKeyValueStoreId": {
                "type": "string"
              },
              "defaultDatasetId": {
                "type": "string"
              },
              "defaultRequestQueueId": {
                "type": "string"
              },
              "buildNumber": {
                "type": "string",
                "example": "1.0.0"
              },
              "containerUrl": {
                "type": "string"
              },
              "usage": {
                "type": "object",
                "properties": {
                  "ACTOR_COMPUTE_UNITS": {
                    "type": "integer",
                    "example": 0
                  },
                  "DATASET_READS": {
                    "type": "integer",
                    "example": 0
                  },
                  "DATASET_WRITES": {
                    "type": "integer",
                    "example": 0
                  },
                  "KEY_VALUE_STORE_READS": {
                    "type": "integer",
                    "example": 0
                  },
                  "KEY_VALUE_STORE_WRITES": {
                    "type": "integer",
                    "example": 1
                  },
                  "KEY_VALUE_STORE_LISTS": {
                    "type": "integer",
                    "example": 0
                  },
                  "REQUEST_QUEUE_READS": {
                    "type": "integer",
                    "example": 0
                  },
                  "REQUEST_QUEUE_WRITES": {
                    "type": "integer",
                    "example": 0
                  },
                  "DATA_TRANSFER_INTERNAL_GBYTES": {
                    "type": "integer",
                    "example": 0
                  },
                  "DATA_TRANSFER_EXTERNAL_GBYTES": {
                    "type": "integer",
                    "example": 0
                  },
                  "PROXY_RESIDENTIAL_TRANSFER_GBYTES": {
                    "type": "integer",
                    "example": 0
                  },
                  "PROXY_SERPS": {
                    "type": "integer",
                    "example": 0
                  },
                  "PROXY_UNBLOCKER_UNITS": {
                    "type": "integer",
                    "example": 0
                  }
                }
              },
              "usageTotalUsd": {
                "type": "number",
                "example": 0.00005
              },
              "usageUsd": {
                "type": "object",
                "properties": {
                  "ACTOR_COMPUTE_UNITS": {
                    "type": "integer",
                    "example": 0
                  },
                  "DATASET_READS": {
                    "type": "integer",
                    "example": 0
                  },
                  "DATASET_WRITES": {
                    "type": "integer",
                    "example": 0
                  },
                  "KEY_VALUE_STORE_READS": {
                    "type": "integer",
                    "example": 0
                  },
                  "KEY_VALUE_STORE_WRITES": {
                    "type": "number",
                    "example": 0.00005
                  },
                  "KEY_VALUE_STORE_LISTS": {
                    "type": "integer",
                    "example": 0
                  },
                  "REQUEST_QUEUE_READS": {
                    "type": "integer",
                    "example": 0
                  },
                  "REQUEST_QUEUE_WRITES": {
                    "type": "integer",
                    "example": 0
                  },
                  "DATA_TRANSFER_INTERNAL_GBYTES": {
                    "type": "integer",
                    "example": 0
                  },
                  "DATA_TRANSFER_EXTERNAL_GBYTES": {
                    "type": "integer",
                    "example": 0
                  },
                  "PROXY_RESIDENTIAL_TRANSFER_GBYTES": {
                    "type": "integer",
                    "example": 0
                  },
                  "PROXY_SERPS": {
                    "type": "integer",
                    "example": 0
                  },
                  "PROXY_UNBLOCKER_UNITS": {
                    "type": "integer",
                    "example": 0
                  }
                }
              }
            }
          }
        }
      }
    }
  }
}