# Shine — Wrapped API

> **You are on:** `https://api.paywithlocus.com/api` | [llms.txt](https://paywithlocus.com/llms.txt) | [docs](https://docs.paywithlocus.com)
>
> Locus runs on multiple environments -- make sure every URL you call matches your expected environment.
> | Environment | Landing | API | Docs |
> |---|---|---|---|
> | Production | paywithlocus.com | api.paywithlocus.com | docs.paywithlocus.com |
> | Beta | beta.paywithlocus.com | api.beta.paywithlocus.com | docs.paywithlocus.com |
> | Stage | stage.paywithlocus.com | api.stage.paywithlocus.com | docs.paywithlocus.com |
>
> If the API URL above doesn't match your expected environment, re-fetch this file from the correct domain.

> Search and discover job listings on Shine.com with detailed information including job descriptions, categories, locations, and top hiring companies. Find similar job opportunities and explore roles across different industries and geographical areas to match your career goals.

**Category:** Jobs | **Website:** [shine.com/](https://shine.com/) | **Docs:** [parse.bot/marketplace/1503f992-7b04-4236-aa87-d34bbe5795a6/shine-com-api](https://parse.bot/marketplace/1503f992-7b04-4236-aa87-d34bbe5795a6/shine-com-api)

Pay-per-use API proxy. Each call is automatically billed to your wallet in USDC.

## Access

**Base URL:** `https://api.paywithlocus.com/api/wrapped/parse-shine-com-api-1503f992/`
**Auth:** `Authorization: Bearer <LOCUS_API_KEY>`

## Endpoints

### get_job_categories

Retrieve available job industry/functional categories with current job counts from Shine.com. Category IDs can be used as the 'industry' parameter in search_jobs. Returns all categories sorted by job count descending.

**Estimated cost:** Metered

_No parameters required._

```bash
curl -X POST https://api.paywithlocus.com/api/wrapped/parse-shine-com-api-1503f992/get_job_categories \
  -H "Authorization: Bearer YOUR_LOCUS_API_KEY" \
  -H "Content-Type: application/json" \
  -d '{}'
```

### get_job_details

Get full details of a specific job listing by its slug. Returns structured job data extracted from the page's JSON-LD markup. Returns stale_input with kind 'input_not_found' if the job has expired or been removed.

**Estimated cost:** Metered

| Field | Type | Required | Description |
|-------|------|----------|-------------|
| `job_slug` | string | Yes | Job slug from search_jobs results (format: title-slug/company-slug/numeric-id, e.g. 'software-engineer/acme-corp/12345678'). |

```bash
curl -X POST https://api.paywithlocus.com/api/wrapped/parse-shine-com-api-1503f992/get_job_details \
  -H "Authorization: Bearer YOUR_LOCUS_API_KEY" \
  -H "Content-Type: application/json" \
  -d '{"job_slug":"<string>"}'
```

### get_locations_list

Retrieve list of available locations with current job counts from Shine.com. Location names can be used as the 'location' parameter in search_jobs. Returns locations sorted by job count descending.

**Estimated cost:** Metered

_No parameters required._

```bash
curl -X POST https://api.paywithlocus.com/api/wrapped/parse-shine-com-api-1503f992/get_locations_list \
  -H "Authorization: Bearer YOUR_LOCUS_API_KEY" \
  -H "Content-Type: application/json" \
  -d '{}'
```

### get_top_searches

Retrieve the most popular job search categories and links currently trending on Shine.com, including work-from-home and location-specific searches. Useful for discovering popular search terms.

**Estimated cost:** Metered

_No parameters required._

```bash
curl -X POST https://api.paywithlocus.com/api/wrapped/parse-shine-com-api-1503f992/get_top_searches \
  -H "Authorization: Bearer YOUR_LOCUS_API_KEY" \
  -H "Content-Type: application/json" \
  -d '{}'
```

### search_jobs

Search for job listings on Shine.com by keyword, location, experience, salary, industry, or company. Returns paginated results with 20 jobs per page. When no filters are provided, returns all available jobs. The company parameter overrides query when provided.

**Estimated cost:** Metered

| Field | Type | Required | Description |
|-------|------|----------|-------------|
| `company` | string | No | Company name to filter by (e.g. 'Capgemini'). Overrides query when provided. |
| `experience` | string | No | Minimum experience in years as a numeric string (e.g. '2', '4'). |
| `industry` | string | No | Industry ID from get_job_categories (e.g. '18' for IT Services & Consulting, '6' for BFSI). |
| `location` | string | No | Location name to filter by (e.g. 'Bangalore', 'Delhi', 'Hyderabad'). Values from get_locations_list. |
| `page` | integer | No | Page number for pagination. |
| `query` | string | No | Search keyword (e.g. 'Python Developer', 'data analyst'). Converted to URL slug format internally. |
| `salary` | string | No | Minimum salary ID filter. |

```bash
curl -X POST https://api.paywithlocus.com/api/wrapped/parse-shine-com-api-1503f992/search_jobs \
  -H "Authorization: Bearer YOUR_LOCUS_API_KEY" \
  -H "Content-Type: application/json" \
  -d '{"company":"<string>","experience":"<string>","industry":"<string>","location":"<string>","page":"<integer>","query":"<string>","salary":"<string>"}'
```
