# Channelcrawler — 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 YouTube channels across a database of 22M+ channels to find creators, communities, and content in your areas of interest. Get detailed channel information including stats and metadata to research creators and understand their audience.

**Category:** Streaming Video | **Website:** [app.channelcrawler.com/search/results/3446a833-39f4-5e6d-8af7-7585cfbda59a?sort=_score&sortDirection=desc](https://app.channelcrawler.com/search/results/3446a833-39f4-5e6d-8af7-7585cfbda59a?sort=_score&sortDirection=desc) | **Docs:** [parse.bot/marketplace/1116cc06-f28a-4ddc-a772-dcf95dcef220/app-channelcrawler-com-api](https://parse.bot/marketplace/1116cc06-f28a-4ddc-a772-dcf95dcef220/app-channelcrawler-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-app-channelcrawler-com-api-1116cc06/`
**Auth:** `Authorization: Bearer <LOCUS_API_KEY>`

## Endpoints

### get_channel_details

Get detailed information about a specific YouTube channel by its channel ID. Returns channel name, description, and YouTube URL. Subscriber display may show '0' for channels where the count is hidden or unavailable via this endpoint.

**Estimated cost:** Metered

| Field | Type | Required | Description |
|-------|------|----------|-------------|
| `channel_id` | string | Yes | YouTube channel ID (e.g., 'UCX6OQ3DkcsbYNE6H8uQQuVA') |

```bash
curl -X POST https://api.paywithlocus.com/api/wrapped/parse-app-channelcrawler-com-api-1116cc06/get_channel_details \
  -H "Authorization: Bearer YOUR_LOCUS_API_KEY" \
  -H "Content-Type: application/json" \
  -d '{"channel_id":"<string>"}'
```

### get_search_results

Get channel results and counts for an existing search ID from a previous search_channels call. Returns total matching channel and email counts along with available channel data. The channels array may be empty on the free tier.

**Estimated cost:** Metered

| Field | Type | Required | Description |
|-------|------|----------|-------------|
| `search_id` | string | Yes | Search ID (UUID from search_channels response) |
| `sort` | string | No | Sort field |
| `sort_direction` | string | No | Sort direction: 'asc' or 'desc' |

```bash
curl -X POST https://api.paywithlocus.com/api/wrapped/parse-app-channelcrawler-com-api-1116cc06/get_search_results \
  -H "Authorization: Bearer YOUR_LOCUS_API_KEY" \
  -H "Content-Type: application/json" \
  -d '{"search_id":"<string>","sort":"<string>","sort_direction":"<string>"}'
```

### search_channels

Search for YouTube channels by keyword, category, country, language, and subscriber range. Creates a new search and returns a search ID along with total matching channel and email counts. Returns up to 10 channel results per search. The channels array may be empty on the free tier; use get_channel_details with known channel IDs for detailed channel data.

**Estimated cost:** Metered

| Field | Type | Required | Description |
|-------|------|----------|-------------|
| `category` | string | No | Topic category filter (e.g., 'Animals', 'Gaming', 'Music'). Either keyword or category is required. |
| `country` | string | No | Country filter (e.g., 'United States') |
| `keyword` | string | No | Search keyword (e.g., 'gaming', 'cooking'). Either keyword or category is required. |
| `language` | string | No | Language filter (e.g., 'English') |
| `max_subscribers` | integer | No | Maximum subscriber count filter |
| `min_subscribers` | integer | No | Minimum subscriber count filter |
| `sort` | string | No | Sort field: '_score' for relevance, 'core.subscribers' for subscriber count |
| `sort_direction` | string | No | Sort direction: 'asc' or 'desc' |

```bash
curl -X POST https://api.paywithlocus.com/api/wrapped/parse-app-channelcrawler-com-api-1116cc06/search_channels \
  -H "Authorization: Bearer YOUR_LOCUS_API_KEY" \
  -H "Content-Type: application/json" \
  -d '{"category":"<string>","country":"<string>","keyword":"<string>","language":"<string>","max_subscribers":"<integer>","min_subscribers":"<integer>","sort":"<string>","sort_direction":"<string>"}'
```
