YouTube
YouTube video.search
Search YouTube videos from a free-text query. Normalized JSON, one price per record, automatic failover across sources.
POST
Search YouTube videos from a free-text query. The response is normalized, so it keeps the same shape whichever offer served it.
The call is synchronous and comes back
completed or failed. Body fields and error codes shared by every service are documented on Run a service.
Body
string[]
required
The search queries to run, as
queries (array) or query (single string). Free text, exactly as you would type it on YouTube.string
Single-input form of
queries.number
default:"100"
Maximum number of records to return. Integer, 1-250.
string
Pin one offer, as
source/name. Serving this service: apify/streamers. Omit it (the default) to let the router walk the failover chain.object
Typed options for this service. Validation is strict, so an unknown key or an out-of-enum value returns a corrective
400 instead of being dropped.Accepted queries
Free-text search query, as you would type it in the YouTube search bar. Example:machine learning tutorial.
Offers
One offer serves this endpoint today. When a second one implements it, failover turns on with no change on your side.
Prices are live in the catalogue:
GET /v1/services/youtube/video.search. See Credits for how a call is billed.
Response
data[] holds the normalized records, served_by names the offer that answered, and credits_used carries the actual charge.
The example response is a real run with values shortened for readability. A field is present when YouTube exposes it for that item, so the exact set varies record to record.