{
  "openapi": "3.0.1",
  "info": {
    "title": "Internshala Scraper API - Internships & Jobs in India",
    "description": "Scrape Internshala internships and fresher jobs in India by keyword, category or city. Each row has the role, company, city, skills, stipend or salary typed as monthly, yearly or unpaid, duration, apply-by and posted dates, and openings. $0.34 per 1,000 postings.",
    "version": "0.1",
    "x-build-id": "SUzq4fSbhscAuswFY"
  },
  "servers": [
    {
      "url": "https://api.apify.com/v2"
    }
  ],
  "paths": {
    "/acts/dami_studio~internshala-scraper/run-sync-get-dataset-items": {
      "post": {
        "operationId": "run-sync-get-dataset-items-dami_studio-internshala-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/dami_studio~internshala-scraper/runs": {
      "post": {
        "operationId": "runs-sync-dami_studio-internshala-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/dami_studio~internshala-scraper/run-sync": {
      "post": {
        "operationId": "run-sync-dami_studio-internshala-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": {
          "searchQueries": {
            "title": "Keywords",
            "type": "array",
            "description": "One or more searches, exactly as you would type them into Internshala's search box: a skill (\"python\"), a role (\"graphic design\"), or a company name (\"Infosys\"). Each keyword is walked separately, so [\"python\", \"data science\"] runs two searches. Leave empty to take everything that matches the filters below.",
            "items": {
              "type": "string"
            }
          },
          "listing": {
            "title": "What to scrape",
            "enum": [
              "internships",
              "jobs",
              "both"
            ],
            "type": "string",
            "description": "Internshala runs two boards. Internships (7,007 live on 2026-08-08) are short placements with a monthly stipend. Jobs (8,663 live) are full-time fresher and early-career roles with an annual salary. \"Both\" walks the two in turn and tags every row with a \"type\" field.",
            "default": "internships"
          },
          "categories": {
            "title": "Category",
            "type": "array",
            "description": "Internshala's own categories, written the way the site writes them: \"marketing\", \"computer science\", \"human resources\", \"content writing\", \"data science\", \"finance\", \"graphic design\", \"web development\". Several categories are combined with OR.",
            "items": {
              "type": "string"
            }
          },
          "cities": {
            "title": "City",
            "type": "array",
            "description": "Indian cities, for example \"bangalore\", \"delhi\", \"mumbai\", \"pune\", \"hyderabad\", \"chennai\", \"kolkata\", \"gurgaon\". Several cities are combined with OR. Leave empty for the whole country.",
            "items": {
              "type": "string"
            }
          },
          "workFromHome": {
            "title": "Work from home only",
            "type": "boolean",
            "description": "Only remote postings. Measured on 2026-08-08: 2,154 of 7,007 internships and 1,456 of 8,663 jobs are work-from-home.",
            "default": false
          },
          "partTime": {
            "title": "Part-time only (internships)",
            "type": "boolean",
            "description": "Only part-time internships, 1,449 of 7,007 on 2026-08-08. Ignored on the jobs board.",
            "default": false
          },
          "withJobOffer": {
            "title": "Only internships that offer a job afterwards",
            "type": "boolean",
            "description": "Internshala's PPO filter: internships with a pre-placement offer. 1,223 of 7,007 on 2026-08-08. Those rows also carry the offer text, for example \"Job offer upto ₹ 2.4LPA post internship\".",
            "default": false
          },
          "minStipend": {
            "title": "Minimum monthly stipend (INR, internships)",
            "minimum": 0,
            "maximum": 12000,
            "type": "integer",
            "description": "Only internships paying at least this much a month, in rupees. Any amount up to 12,000 works. For a range, the midpoint has to reach it, and weekly or lump-sum pay is turned into a monthly figure first. Unpaid and performance-based internships are left out, and so are stipends in another currency unless Internshala's own filter keeps them. Nothing left out is charged. Every row also carries stipendMin, so you can filter harder afterwards."
          },
          "maxDurationMonths": {
            "title": "Maximum duration in months (internships)",
            "minimum": 1,
            "maximum": 24,
            "type": "integer",
            "description": "Only internships that last at most this many months. It is cumulative: 1 gave 610 results, 2 gave 1,319, 6 gave 6,975 on 2026-08-08."
          },
          "minSalary": {
            "title": "Minimum annual salary (INR, jobs)",
            "minimum": 0,
            "type": "number",
            "description": "Only jobs paying at least this much a year, in rupees: 600000 means 6 lakh. A value under 100 is read as lakhs, so 6 also means 6 lakh and 7.5 means 7.5 lakh. The low end of the salary range has to reach it. Jobs with no yearly figure in rupees, such as \"Competitive salary\" or pay in another currency, are left out unless Internshala's own filter keeps them. Nothing left out is charged. Ignored on the internships board."
          },
          "experience": {
            "title": "Experience (jobs)",
            "enum": [
              "",
              "1",
              "2",
              "3",
              "4",
              "5",
              "5plus"
            ],
            "type": "string",
            "description": "Internshala's own experience filter for the jobs board. The numbered options are cumulative caps (\"1 year\" returned 6,092 jobs, \"2 years\" 6,648); \"more than 5 years\" is a separate senior bucket and returned 146.",
            "default": ""
          },
          "fresherOnly": {
            "title": "Fresher jobs only",
            "type": "boolean",
            "description": "Only jobs open to candidates with no work experience, 4,179 of 8,663 on 2026-08-08. Ignored on the internships board.",
            "default": false
          },
          "includeInternshipsInJobs": {
            "title": "Add internships to a jobs run",
            "type": "boolean",
            "description": "Internshala's \"also show internships\" toggle on the jobs board. It merges the two corpora into one walk, 14,447 rows on 2026-08-08 instead of 8,663. Ignored on the internships board.",
            "default": false
          },
          "internationalOnly": {
            "title": "International internships only",
            "type": "boolean",
            "description": "Internshala's international board: internships based outside India. It is small, 85 live on 2026-08-08.",
            "default": false
          },
          "forWomen": {
            "title": "Internships for women",
            "type": "boolean",
            "description": "Internshala's women-only board: 3,379 internships on 2026-08-08. Combines with the category and city filters.",
            "default": false
          },
          "earlyApplicant": {
            "title": "Be an early applicant",
            "type": "boolean",
            "description": "Only internships with few applications so far, 1,924 of 7,007 on 2026-08-08.",
            "default": false
          },
          "fastResponse": {
            "title": "Employers who reply quickly",
            "type": "boolean",
            "description": "Internshala's fast-response badge: employers who review applications quickly. 4,061 of 7,007 on 2026-08-08.",
            "default": false
          },
          "startingAfter": {
            "title": "Starting on or after",
            "type": "string",
            "description": "Only internships whose start date is on or after this day, written as YYYY-MM-DD."
          },
          "startUrls": {
            "title": "Internshala URLs",
            "type": "array",
            "description": "Paste Internshala URLs instead of building a search. Works with a listing page (https://internshala.com/internships/computer-science-internship-in-bangalore/) and with a single posting (https://internshala.com/internship/detail/...). Listing URLs are walked page by page.",
            "items": {
              "type": "object",
              "required": [
                "url"
              ],
              "properties": {
                "url": {
                  "type": "string",
                  "title": "URL of a web page",
                  "format": "uri"
                }
              }
            }
          },
          "includeDetails": {
            "title": "Open each posting for the full record",
            "type": "boolean",
            "description": "Reads each posting's own page. That is where the apply-by date, the number of openings, the exact posted date (instead of \"2 days ago\"), the start date, the perks, the eligibility rules, the company's Internshala profile and website, the state, and the full description come from. Measured at 84 ms per posting at concurrency 10. Turn it off for a listing-only run: you keep title, company, city, stipend, duration, skills, the description snippet and an approximate posted date.",
            "default": true
          },
          "detailConcurrency": {
            "title": "Posting pages in parallel",
            "minimum": 1,
            "maximum": 16,
            "type": "integer",
            "description": "How many posting pages to read at once when \"Open each posting\" is on.",
            "default": 10
          },
          "maxItems": {
            "title": "Maximum postings",
            "minimum": 1,
            "maximum": 20000,
            "type": "integer",
            "description": "Stop after this many postings. One search runs out at Internshala's own last page, the unfiltered internships board ends at page 176 (7,007 rows) and returns nothing beyond it, so use several keywords, cities or categories to go wider.",
            "default": 50
          },
          "egressMode": {
            "title": "Network route",
            "enum": [
              "auto",
              "direct",
              "datacenter",
              "isp"
            ],
            "type": "string",
            "description": "Leave this on Automatic. If a search stops with an HTTP_ERROR or NOT_JSON row, run it again in a few minutes.",
            "default": "auto"
          },
          "proxyConfiguration": {
            "title": "Proxy",
            "type": "object",
            "description": "Leave as is. Internshala needs no proxy, supply your own servers here only if you have a reason to."
          }
        }
      },
      "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
                  }
                }
              }
            }
          }
        }
      }
    }
  }
}