{
  "openapi": "3.0.1",
  "info": {
    "title": "Apna Jobs Scraper | 50 Categories, 23 Fields, Monitor Mode",
    "description": "Scrape live job listings from Apna.co, India's largest blue-collar and early-career job app. Title, company, salary, location, tags by city, category and job type. No login, no anti-bot, pay per job. Works in Claude, ChatGPT & any MCP AI agent.",
    "version": "0.1",
    "x-build-id": "PvhG3o5e5mameeMe6"
  },
  "servers": [
    {
      "url": "https://api.apify.com/v2"
    }
  ],
  "paths": {
    "/acts/themineworks~apna-jobs-scraper/run-sync-get-dataset-items": {
      "post": {
        "operationId": "run-sync-get-dataset-items-themineworks-apna-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/themineworks~apna-jobs-scraper/runs": {
      "post": {
        "operationId": "runs-sync-themineworks-apna-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/themineworks~apna-jobs-scraper/run-sync": {
      "post": {
        "operationId": "run-sync-themineworks-apna-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": {
          "city": {
            "title": "City",
            "type": "string",
            "description": "City to browse jobs in, e.g. 'Pune', 'Bangalore', 'Delhi'. Common aliases (Bangalore/Bombay/Calcutta/Mysore/Allahabad) are mapped automatically to Apna's own city slugs. Leave blank for all-India. Ignored if 'Category' is set (Apna's site supports ONE primary browse filter per request — see README)."
          },
          "category": {
            "title": "Category / department",
            "enum": [
              "accounts_finance",
              "dep_admin_back_office_computer_operator",
              "dep_advertising_communication",
              "dep_aviation_aerospace",
              "back_office",
              "dep_banking_insurance_financial_services",
              "dep_beauty_fitness_personal_care",
              "business_development",
              "dep_csr_social_service",
              "dep_construction_site_engineering",
              "dep_consulting",
              "dep_content_editorial_journalism",
              "dep_customer_support",
              "dep_data_science_analytics",
              "delivery_person",
              "dep_delivery_driver_logistics",
              "dep_domestic_worker",
              "dep_energy_mining",
              "dep_engineering_hardware_networks",
              "dep_environment_health_safety",
              "dep_facility_management",
              "dep_finance_accounting",
              "dep_healthcare_doctor_hospital_staff",
              "human_resource",
              "dep_human_resources",
              "dep_it_information_security",
              "dep_legal_regulatory",
              "dep_maintenance_services",
              "dep_marketing_brand_digital_marketing",
              "dep_media_production_entertainment",
              "dep_operations",
              "dep_product_management",
              "dep_production_manufacturing_engineering",
              "dep_project_program_management",
              "dep_purchase_supply_chain",
              "dep_quality_assurance",
              "dep_research_development",
              "dep_restaurant_hospitality_tourism",
              "dep_retail_ecommerce",
              "dep_risk_management_compliance",
              "dep_sales_bd",
              "sales_field_work",
              "dep_security_services",
              "dep_shipping_maritime",
              "dep_software_engineering",
              "dep_strategic_top_management",
              "dep_tailoring_apparel_home_furnishing",
              "dep_teaching_training",
              "telecaller_bpo",
              "dep_ux_design_architecture"
            ],
            "type": "string",
            "description": "Job category or department to browse. This is Apna's own taxonomy — there is no free-text keyword search on the site itself (see README), so this is the closest thing to a 'search'. Takes priority over City as the primary browse filter."
          },
          "jobType": {
            "title": "Job type",
            "enum": [
              "full_time",
              "part_time"
            ],
            "type": "string",
            "description": "Employment type. Used as the primary browse filter if City/Category are blank."
          },
          "educationLevel": {
            "title": "Education level",
            "enum": [
              "10th_pass",
              "12th_pass"
            ],
            "type": "string",
            "description": "Minimum education Apna tags the job for."
          },
          "nightShiftOnly": {
            "title": "Night shift only",
            "type": "boolean",
            "description": "Browse only jobs tagged as night shift.",
            "default": false
          },
          "workFromHomeOnly": {
            "title": "Work from home only",
            "type": "boolean",
            "description": "Browse only jobs tagged as work from home.",
            "default": false
          },
          "freshersOnly": {
            "title": "Freshers only",
            "type": "boolean",
            "description": "Browse only jobs open to freshers (no experience required).",
            "default": false
          },
          "femaleOnly": {
            "title": "Female candidates preferred",
            "type": "boolean",
            "description": "Browse only jobs tagged as open to / preferring female candidates.",
            "default": false
          },
          "keyword": {
            "title": "Keyword filter (post-filter)",
            "type": "string",
            "description": "Apna's own site has no full-text job search API — this filters the JOB TITLES returned by the City/Category/type browse above (case-insensitive substring match). Leave blank to keep everything from the selected browse filter, e.g. \"delivery\" or \"sales\"."
          },
          "maxJobs": {
            "title": "Max jobs",
            "minimum": 1,
            "maximum": 1000,
            "type": "integer",
            "description": "Maximum number of jobs to scrape. Apna's own listing pages exhaust after roughly 500-1200 jobs per filter (the site itself stops paginating), whichever comes first. Hard cap 1000.",
            "default": 5
          },
          "includeFullDescription": {
            "title": "Include full job description & structured details",
            "type": "boolean",
            "description": "If true, fetches each job's detail page and pulls the full description plus structured salary/experience/employment-type/dates from Apna's own JobPosting schema.org data (one extra request per job, slower, more complete). If false (default), only the fields visible on the listing card are returned (title, company, location, salary range text, tags), faster and cheaper. A large Max jobs value with this on uses noticeably more memory. If you set Max jobs above a couple hundred with this enabled, raise Run memory in Run options, 2048 MB or more.",
            "default": false
          },
          "monitorMode": {
            "title": "Monitor mode (only new results)",
            "type": "boolean",
            "description": "Run on a schedule and deliver ONLY results not seen in a previous run. You are charged per new result, not for the whole feed each time. Ideal for daily monitoring. Requires the same input across runs.",
            "default": false
          },
          "proxyConfiguration": {
            "title": "Proxy configuration",
            "type": "object",
            "description": "Apna.co's job pages showed no anti-bot challenge during testing (plain server-rendered Next.js pages, no Cloudflare/Akamai), so a proxy is NOT required. Left available for resilience — set a country/group here if you see blocking.",
            "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
                  }
                }
              },
              "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
                  }
                }
              }
            }
          }
        }
      }
    }
  }
}