{
  "openapi": "3.0.1",
  "info": {
    "title": "Internshala Scraper: Internships & Jobs with Applicants",
    "description": "Scrape Internshala internships and jobs in India: stipend or salary as numbers, applicants and openings, applicants per opening, deadline, perks, eligibility, job offers after internship and company hiring history. Keywords, cities, remote. JSON, CSV, API.",
    "version": "0.1",
    "x-build-id": "0n7B10mhMqWCteKxj"
  },
  "servers": [
    {
      "url": "https://api.apify.com/v2"
    }
  ],
  "paths": {
    "/acts/deriverge~internshala-jobs-scraper/run-sync-get-dataset-items": {
      "post": {
        "operationId": "run-sync-get-dataset-items-deriverge-internshala-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/deriverge~internshala-jobs-scraper/runs": {
      "post": {
        "operationId": "runs-sync-deriverge-internshala-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/deriverge~internshala-jobs-scraper/run-sync": {
      "post": {
        "operationId": "run-sync-deriverge-internshala-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": {
          "type": {
            "title": "Internships or jobs",
            "enum": [
              "both",
              "internships",
              "jobs"
            ],
            "type": "string",
            "description": "What to collect. With both, each search runs for internships and for jobs.",
            "default": "both"
          },
          "keywords": {
            "title": "Keywords",
            "type": "array",
            "description": "What to search for, as in the Internshala search box: a profile, skill or company, for example \"data science\", \"marketing\" or \"web development\". Each keyword is its own search. Leave empty for all listings.",
            "items": {
              "type": "string"
            }
          },
          "cities": {
            "title": "Cities",
            "type": "array",
            "description": "Cities as Internshala writes them, for example Bangalore, Delhi, Mumbai, Pune, Hyderabad or Gurgaon. Each city is its own search. Leave empty for all of India.",
            "items": {
              "type": "string"
            }
          },
          "workFromHome": {
            "title": "Work from home only",
            "type": "boolean",
            "description": "Only remote internships and jobs. Internshala cannot combine this with cities, so cities are ignored when it is on.",
            "default": false
          },
          "partTime": {
            "title": "Part-time only",
            "type": "boolean",
            "description": "Only part-time internships and jobs. Internshala cannot combine this with cities or work from home.",
            "default": false
          },
          "freshersOnly": {
            "title": "Fresher jobs only",
            "type": "boolean",
            "description": "For jobs: only jobs open to freshers (no experience required).",
            "default": false
          },
          "minSalaryLakhs": {
            "title": "Minimum salary for jobs (lakhs per year)",
            "minimum": 0,
            "maximum": 10,
            "type": "integer",
            "description": "For jobs: only jobs paying at least this many lakh rupees a year, from 1 to 10 (the highest filter Internshala offers)."
          },
          "minStipend": {
            "title": "Minimum stipend for internships",
            "enum": [
              "0",
              "2000",
              "4000",
              "6000",
              "8000",
              "10000"
            ],
            "type": "string",
            "description": "For internships: only internships paying at least this stipend per month.",
            "default": "0"
          },
          "searchUrls": {
            "title": "Search links from internshala.com (optional)",
            "type": "array",
            "description": "Internshala search addresses with your filters, for example https://internshala.com/internships/work-from-home-data-science-internships/. Each link is its own search.",
            "items": {
              "type": "string"
            }
          },
          "excludeKeywords": {
            "title": "Exclude keywords",
            "type": "array",
            "description": "Drop listings whose title or company contains any of these, for example \"sales\" or \"telecaller\".",
            "items": {
              "type": "string"
            }
          },
          "includeDetails": {
            "title": "Include full details",
            "type": "boolean",
            "description": "Opens each listing for applicants, openings, applicants per opening, deadline, start date, perks, who can apply, pay breakup, probation, job offer after the internship, category and company history. The price is the same; turn it off only for the fastest runs.",
            "default": true
          },
          "newOnly": {
            "title": "Return only listings new since the last run",
            "type": "boolean",
            "description": "Keeps a snapshot per watch name (or per saved task) and returns only listings that were not there before. Schedule it daily for an internship or job alert.",
            "default": false
          },
          "watchName": {
            "title": "Watch name",
            "type": "string",
            "description": "Name of the snapshot used by the new-only mode, for example \"python-bangalore\". Runs from a saved task get one automatically."
          },
          "maxItems": {
            "title": "Maximum listings",
            "minimum": 1,
            "type": "integer",
            "description": "Hard cap on returned listings. When the cap is smaller than the results, every search gets an equal share.",
            "default": 1000
          }
        }
      },
      "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
                  }
                }
              }
            }
          }
        }
      }
    }
  }
}