app.channelcrawler.com APIapp.channelcrawler.com ↗
Search 22M+ YouTube channels by keyword, category, country, language, and subscriber range. Retrieve channel stats and metadata via 3 endpoints.
curl -X GET 'https://api.parse.bot/scraper/b1063f39-0d68-47c0-8358-8b02d6cb5c13/search_channels?category=Gaming' \ -H 'X-API-Key: $PARSE_API_KEY'
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. The channels array may be empty on the free tier; use get_channel_details with known channel IDs for detailed channel data.
| Param | Type | Description |
|---|---|---|
| sort | string | Sort field: '_score', 'core.subscribers' |
| country | string | Country filter (e.g., 'United States') |
| keyword | string | Search keyword (e.g., 'gaming', 'cooking'). Either keyword or category is required. |
| category | string | Topic category filter (e.g., 'Animals', 'Gaming', 'Music'). Either keyword or category is required. |
| language | string | Language filter (e.g., 'English') |
| sort_direction | string | Sort direction: 'asc' or 'desc' |
| max_subscribers | integer | Maximum subscriber count filter |
| min_subscribers | integer | Minimum subscriber count filter |
{
"type": "object",
"fields": {
"channels": "array of channel objects (may be empty on free tier)",
"search_id": "string — UUID identifying this search, usable with get_search_results",
"total_with_email": "integer — number of matching channels that have an email on file",
"channels_returned": "integer — number of channels in the channels array",
"total_matching_channels": "integer — total number of channels matching the search criteria"
},
"sample": {
"data": {
"channels": [],
"search_id": "2a2dcd37-b4ed-5092-b420-40400f26b994",
"total_with_email": 162488,
"channels_returned": 0,
"total_matching_channels": 1228673
},
"status": "success"
}
}About the app.channelcrawler.com API
The ChannelCrawler API gives programmatic access to a database of over 22 million YouTube channels across 3 endpoints. Use search_channels to filter by keyword, category, country, language, and subscriber range — getting back a search ID, total matching channel count, and a count of channels with emails on file. Use get_channel_details to pull name, description, subscriber count, and YouTube URL for any specific channel ID.
Searching Channels
The search_channels endpoint accepts up to seven filter parameters: keyword or category (one is required), plus optional country, language, min_subscribers, max_subscribers, and sort/sort_direction for ordering results by relevance score or subscriber count. The response returns a search_id UUID, total_matching_channels (the full count across the database), and total_with_email (the subset that have a contact email on file). The channels array in the response may be empty depending on your plan tier.
Paginating and Revisiting Searches
Once you have a search_id from search_channels, pass it to get_search_results to retrieve the same result set — including updated total_matching_channels and total_with_email counts — without re-executing the full search. Both endpoints support sort and sort_direction parameters so you can change the ordering of returned channel objects without creating a new search.
Channel Detail Lookup
get_channel_details takes a single channel_id (the standard YouTube channel ID format, e.g., UCX6OQ3DkcsbYNE6H8uQQuVA) and returns the channel's name, description, youtube_url, subscribers_display, and the channel_id itself. Note that subscribers_display may show '0' for some channels rather than a formatted count.
Coverage and Scope
The database covers 22M+ YouTube channels with filtering across topics including Animals, Gaming, Music, and many other categories. Email availability counts are surfaced at the search level via total_with_email, but individual email addresses are not returned in the channel detail response.
- Find YouTube gaming channels in a specific country with subscriber counts between 10K and 500K for sponsorship outreach
- Count how many English-language cooking channels in the database have contact emails on file
- Retrieve channel descriptions and subscriber counts for a list of known YouTube channel IDs
- Build a channel discovery tool filtered by topic category and language for a specific regional market
- Track total channel counts for a given keyword search over time using saved search IDs
- Identify micro-influencer channels by setting a max_subscribers threshold in a keyword search
| Tier | Price | Credits/month | Rate limit |
|---|---|---|---|
| Free | $0/mo | 100 | 5 req/min |
| Hobby | $30/mo | 1,000 | 20 req/min |
| Developer | $100/mo | 5,000 | 250 req/min |
One credit = one API call regardless of which marketplace API you call. Exceeding the rate limit returns a 429 response. Authenticate with the X-API-Key header.
Does ChannelCrawler have an official developer API?+
What does the search_channels endpoint actually return for matching channels?+
search_id UUID, total_matching_channels (the full count matching your filters), total_with_email (channels in that set with an email on file), channels_returned (how many channel objects are in the response array), and the channels array itself. The channels array may be empty on some plan tiers; use the count fields to gauge the result set size and get_channel_details with a known channel ID to retrieve individual records.Can I retrieve individual channel email addresses through this API?+
total_with_email as an aggregate count at the search level, but individual email addresses are not returned by any of the three endpoints. You can fork this API on Parse and revise it to add an endpoint that returns per-channel contact details if that data becomes accessible.Does the API support pagination through large result sets?+
get_search_results lets you re-query a saved search_id with different sort options, but iterating through pages of a large result set is not directly supported. You can fork this API on Parse and revise it to add pagination parameters to the search results endpoint.Are video-level stats like view counts per video or upload history available?+
name, description, youtube_url, subscribers_display, and channel_id. Per-video data such as individual video view counts or upload history is not covered by any of the three endpoints. You can fork this API on Parse and revise it to add a video-level endpoint if that data is needed.