# Search internships and jobs (v1)

Returns one page of about 40 Internshala internships or jobs with company, city, stipend or salary, duration or experience, skills and posting age. Filter by city, work from home, part time, pay, duration and experience. Follow `has_more` to the end of the results.

- Platform: Internshala
- Request: `GET https://api.toolzerhub.com/v1/internshala/search`
- Auth: `x-api-key` header
- Cost: 1 credit per successful request. Failed requests are not billed.
- Page: https://docs.toolzerhub.com/reference/internshala/search/get-internshala-search

| Parameter | In | Required | Type | Description |
| --- | --- | --- | --- | --- |
| `kind` | query | no | enum: internships, jobs | internships (the default) or jobs. Default: internships. |
| `query` | query | no | string | Keywords, a skill or a role, as in the search box on internshala.com. Leave empty to list everything that matches the filters. Default: . |
| `location` | query | no | string | An Indian city, such as Bangalore, Pune or Delhi. stop_reason is location_not_found when Internshala does not list it. |
| `arrangement` | query | no | enum: any, work_from_home, part_time | work_from_home or part_time roles only. A work-from-home search takes no location. Default: any. |
| `min_stipend` | query | no | integer | Internships only. The least monthly stipend in rupees: 2000, 4000, 6000, 8000 or 10000. |
| `max_duration_months` | query | no | integer | Internships only. The longest duration in months: 1, 2, 3, 4, 6, 12, 24 or 36. |
| `min_salary_lakh` | query | no | integer | Jobs only. The least yearly salary in lakh rupees: 2, 4, 6, 8 or 10. |
| `experience` | query | no | enum: 1, 2, 3, 4, 5, 5plus | Jobs only. Years of experience: 1 to 5, or 5plus. |
| `page` | query | no | integer | One-based page of about 40 postings. Follow has_more to the end of the results. Default: 1. |

## Example request

```bash
curl "https://api.toolzerhub.com/v1/internshala/search" \
  -H "x-api-key: $TOOLZERHUB_API_KEY"
```

Success responses are wrapped as `{ "data": ... }`. Errors return `{ "error": { "code", "status", "message", "retryable", "details" } }`. See https://docs.toolzerhub.com/docs/responses-and-errors.
