# Search Instahyre jobs

Search public Instahyre jobs by skills, company, location and experience, with optional bounded detail enrichment and continuation metadata.

- Platform: [Instahyre Jobs](https://docs.upscrape.com/docs/platforms/instahyre)
- Capability ID: `instahyre.jobs.search`
- Cost: 1 credit per request
- Maximum runtime: 60 seconds
- Execute endpoint: `POST https://data.upscrape.com/execute`

## Request

Use the exact public capability ID in the shared execute envelope.

```bash
curl --request POST \
  --url https://data.upscrape.com/execute \
  --header "Authorization: Bearer $UPSCRAPE_API_KEY" \
  --header "Content-Type: application/json" \
  --header "Prefer: wait=30" \
  --data '{
  "input": {
    "company_size": 1,
    "include_experience": true,
    "job_type": 1,
    "limit": 20,
    "location": "Bangalore",
    "max_detail_requests": 1,
    "offset": 0,
    "skills": [
      "Python",
      "Django"
    ],
    "years": 4
  },
  "capability": "instahyre.jobs.search"
}'
```

## Input


| Field | Type | Required | Description |
| --- | --- | --- | --- |
| `companies` | `array<string>` | No |  |
| `company_ids` | `array<integer>` | No |  |
| `company_size` | `integer` | No | At least 0. |
| `include_experience` | `boolean` | No | Opt in to numeric experience enrichment for returned jobs using public job details. No search filtering change. Each unique enriched job adds one request; missing values remain null. Default: `false`. |
| `industry_type` | `integer` | No | At least 0. |
| `job_function` | `integer` | No | At least 0. |
| `job_type` | `integer` | No | At least 0. |
| `keyword` | `string` | No | Not supported: the public Instahyre job search ignores a free-text keyword and would return the unfiltered feed. Supplying this field is rejected with an explicit invalid_input message; use skills to filter by skill. |
| `limit` | `integer` | No | Maximum jobs returned from one upstream page (currently up to 20). Zero or omitted uses the upstream default. Follow pagination metadata to continue. From 0 to 100. |
| `location` | `string` | No |  |
| `max_detail_requests` | `integer` | No | Maximum added job-detail requests per search call, after applying limit. Used only when include_experience=true; otherwise ignored. Remaining jobs have experience.status=skipped_limit. Defaults to 10 when enrichment is enabled; no HTML fetches. From 1 to 100. |
| `max_experience` | `integer` | No | Maximum candidate years for a range search. Supply with min_experience. Range results are deduplicated across each integer-year source search; use next_offset for further results. Ignored when years is supplied. At least 0. |
| `min_experience` | `integer` | No | Minimum candidate years for a range search. Supply with max_experience; the range covers at most 10 integer years. Ignored when years is supplied. At least 0. |
| `offset` | `integer` | No | Source offset for a single years value, or distinct-result offset for a min/max range search. At least 0. |
| `skills` | `array<string>` | No |  |
| `years` | `integer` | No | Candidate experience in years. Returns jobs whose source experience range includes this value. Zero requests entry-level matches. When supplied, years takes precedence over min_experience and max_experience. At least 0. |

### Example input

```json
{
  "company_size": 1,
  "include_experience": true,
  "job_type": 1,
  "limit": 20,
  "location": "Bangalore",
  "max_detail_requests": 1,
  "offset": 0,
  "skills": [
    "Python",
    "Django"
  ],
  "years": 4
}
```

## Response

Successful output is returned in `results[0].data`.

Raw platform output is intentionally open-ended and may evolve with the upstream source.

No example output is available for this capability.


## Execution behavior

A `200` response completed inline. A `202` response was queued; poll `GET /jobs/{id}` until the job reaches `completed` or `failed`. Use an `Idempotency-Key` when retrying must not create a duplicate logical job.

## Related documentation

- [Authentication](https://docs.upscrape.com/docs/api/authentication)
- [Jobs and results](https://docs.upscrape.com/docs/api/jobs)
- [Errors and retries](https://docs.upscrape.com/docs/api/errors)
- [Idempotency](https://docs.upscrape.com/docs/api/idempotency)
