All tutorials

How to scrape YouTube search results with curl (2026)

A curl walkthrough for GET /v1/youtube/search. Copy the snippet, run it, then read the JSON.

GET /v1/youtube/search · 1 credit per successful request.

Also available in

You'll search YouTube for a phrase and see the video results you get back.

Example job: find YouTube videos for a phrase, then open the URLs you keep.

Get ready

You need a Social Fetch API key and a working curl environment. New accounts include 100 free credits.

  • API key. Create a Social Fetch account and copy an API key. New accounts include 100 free credits.

  • curl setup. Any shell with curl. Export SOCIALFETCH_API_KEY before you run the sample.

When you're done, SOCIALFETCH_API_KEY is set in your shell.

Make the request

Copy the curl snippet, keep SOCIALFETCH_API_KEY in the environment, and send GET /v1/youtube/search with the x-api-key header. Example path: /v1/youtube/search?query=api+tutorial. The sample uses public values for search results.

Request
curl

You should see a JSON body on stdout. Use curl -sS so HTTP errors still print on stderr.

Read the response

A JSON body with data (the search results) and meta (creditsCharged, requestId). The sample below is illustrative; field-level docs live on the endpoint page. Credits charge on completed lookups, not transport failures.

Request
Sample response

Branch on data.lookupStatus when present, then keep meta.requestId if a row looks wrong.

duration filters apply to videos, not Shorts. Keep type, uploadDate, duration, and sortBy stable across cursor pages. Keyword search will not substitute for /search/hashtags on tag-led campaigns.

You finished

Same path and credits in playground, docs, and production. Pick a next action below.

Common questions

Do I need an official YouTube developer account?

No. Social Fetch authenticates with your Social Fetch API key. You call GET /v1/youtube/search and we handle upstream access. You still need to follow each platform's terms for how you use public data.

What does the youtube search endpoint return?

A JSON envelope with data (the search results) and meta (creditsCharged, requestId). Shape details and field docs live on the endpoint page and in the OpenAPI docs.

Can I filter YouTube search by type, date, or duration?

Yes. type accepts videos, shorts, channels, or playlists. uploadDate accepts today, this_week, this_month, or this_year. duration accepts under_3_min, between_3_and_20_min, or over_20_min (for videos, not Shorts). sortBy can be relevance or popular. Keep filters stable when you paginate.

YouTube keyword search vs hashtag search?

Use this route for free-text phrases plus type/date/duration filters. Use GET /v1/youtube/search/hashtags for tag-led campaigns. They are separate operations — do not expect hashtag semantics from the keyword route.

How much does a successful request cost?

1 credit per successful request.

Is this okay for production?

Yes. Same production API as the rest of Social Fetch: typed errors, requestId on every response, and credit charges only on completed lookups (not infrastructure failures). New accounts get 100 free credits.

Any curl-specific tips for this request?

Yes. Pass the key with -H "x-api-key: $SOCIALFETCH_API_KEY", and wrap the full URL in double quotes so the shell does not split on & in query strings. Prefer curl -sS so HTTP errors still surface on stderr.