{
  "openapi": "3.0.1",
  "info": {
    "title": "Green Japan Jobs Scraper",
    "description": "Public Green (green-japan.com) IT and startup jobs from prefecture, industry, and salary listing pages. Title, company, salary, location, and optional full description. Draft price $0.0015 per job ($1.50 per 1,000). No start fee. Does not use robots-disallowed search, API, or photo paths.",
    "version": "0.1",
    "x-build-id": "RK3buLfODLccup7et"
  },
  "servers": [
    {
      "url": "https://api.apify.com/v2"
    }
  ],
  "paths": {
    "/acts/stone_jadex~green-japan-jobs-scraper/run-sync-get-dataset-items": {
      "post": {
        "operationId": "run-sync-get-dataset-items-stone_jadex-green-japan-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/stone_jadex~green-japan-jobs-scraper/runs": {
      "post": {
        "operationId": "runs-sync-stone_jadex-green-japan-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/stone_jadex~green-japan-jobs-scraper/run-sync": {
      "post": {
        "operationId": "run-sync-stone_jadex-green-japan-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": {
          "startUrls": {
            "title": "Listing pages or job URLs",
            "type": "array",
            "description": "Public Green listing pages such as https://www.green-japan.com/area/13, https://www.green-japan.com/industry_h/120, or https://www.green-japan.com/salary/400, or a job URL https://www.green-japan.com/company/{id}/job/{id}. /search, /api/v2, and /photo are disallowed by robots.txt and rejected. Empty uses Tokyo (area 13) unless prefectureIds or useSitemaps is set. Without login each entry URL gives at most 3 pages (about 60 jobs), so 1,000+ jobs need at least 17 distinct entry URLs (aim for 25–30 to absorb duplicates across areas/industries) or useSitemaps.",
            "items": {
              "type": "object",
              "required": [
                "url"
              ],
              "properties": {
                "url": {
                  "type": "string",
                  "title": "URL of a web page",
                  "format": "uri"
                }
              }
            }
          },
          "prefectureIds": {
            "title": "Prefecture ids (1–47)",
            "type": "array",
            "description": "Each id becomes https://www.green-japan.com/area/{id}. 1 is Hokkaido, 13 is Tokyo, 47 is Okinawa. Green shows anonymous visitors at most 3 pages (about 60 jobs) per listing URL; page 4+ redirects back to page 3 with a sign-up prompt. For 1,000+ jobs, list many prefectures and turn on useSitemaps.",
            "items": {
              "type": "string"
            }
          },
          "useSitemaps": {
            "title": "Discover listing pages from Green sitemaps",
            "type": "boolean",
            "description": "Recommended for large runs. Reads sitemap.xml and only areas, big_industries, small_industries, and salaries. Opens only as many listing pages as Max jobs needs (about 20 jobs each). Does not open job or company sitemap shards. Each listing URL yields at most about 60 jobs (3 pages) without login, so the sitemaps (112 listing URLs (49 area + 9 big-industry + 39 small-industry + 15 salary pages, counted 2026-10-26)) are the way to reach 1,000+ jobs.",
            "default": false
          },
          "maxItems": {
            "title": "Max jobs",
            "minimum": 1,
            "maximum": 100000,
            "type": "integer",
            "description": "Stop after this many jobs. One listing page contains about 20, and each listing URL shows at most 3 pages (about 60 jobs) without login.",
            "default": 20
          },
          "scrapeDetails": {
            "title": "Open each job page",
            "type": "boolean",
            "description": "Adds description, requirements, benefits, hours, holidays, selection process, address, and public company facts. Charged as job-detail instead of job, at the same price. Off by default so a run stays on listing pages.",
            "default": false
          },
          "requestDelayMs": {
            "title": "Minimum gap between requests (ms)",
            "minimum": 500,
            "maximum": 60000,
            "type": "integer",
            "description": "Pause between requests in milliseconds. Higher values are gentler on the site.",
            "default": 1000
          },
          "maxRunSeconds": {
            "title": "Max run time (seconds)",
            "minimum": 30,
            "maximum": 86400,
            "type": "integer",
            "description": "Stops cleanly and writes OUTPUT before this limit.",
            "default": 3600
          },
          "proxyConfiguration": {
            "title": "Proxy",
            "type": "object",
            "description": "Direct connection by default. Green listing pages are public HTML.",
            "default": {
              "useApifyProxy": false
            }
          },
          "useProxyFallback": {
            "title": "Use proxy only after repeated blocks",
            "type": "boolean",
            "description": "If direct requests get blocked, retry through Apify Proxy.",
            "default": 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
                  }
                }
              }
            }
          }
        }
      }
    }
  }
}