One endpoint, each video as clean JSON, saved to CSV.
Scraping the Videos tab yourself means driving a browser, dodging blocks, and parsing a page that keeps changing. Here you send one HTTP request and read JSON. Three steps:
Create a free account. Try it free, no card needed.
Copy your API key. It is on the dashboard right after signup.
Run the code below. Start with the curl test, then the Python script.
First a quick test with curl:
Then the same call in Python with the requests library. Install it with pip install requests, drop in a key, and run:
The response is one JSON object. The searchParameters field echoes your query, and videos is the list of results. Here are the first two that came back, shown as CSV so they drop straight into Sheets or a database:
Each request returns one page of results. To pull more, pass a page number and loop, collecting every page into one list:
Change q to any search you would type into the Videos tab, like python tutorial or how to change a tire.
Every result comes complete, so you build a research set or a content feed with no second call. Here is one record as CSV, ready for Sheets or a database:
Or the same record as JSON, exactly as the API returns it:
You can build a video-results scraper with a headless browser and a parser, and plenty of tutorials show how. The trade is maintenance. Here is the difference in practice.
| Writing it yourself | CrustAPI | |
|---|---|---|
| Setup | Install a headless browser, handle blocks and page changes | One GET request, no browser |
| Output | Parse the HTML yourself; fields break when the layout changes | Clean JSON from the API, or the same rows as CSV |
| Maintenance | Fix the scraper each time the page changes | We keep it working |
| Free tier | Free, but you pay in time and blocked requests | $6 of free usage each month |
| Cost model | Server, proxy, and developer time | Pay per successful search, any number of videos; empty searches free |
| Storing the data | Yours to manage | No storage limits. Export to CSV or a database |
Each successful video search is billed once at your Google Search rate, however many videos come back. Empty searches cost nothing. Paid funds never expire.
| Deposit | Google Search / 1,000 requests | Maps / 1,000 businesses | LinkedIn reads / 1,000 requests | People, Jobs, Refresh / 1,000 units |
|---|---|---|---|---|
| $10+ | $1.00 | $1.96 | $6.00 | $1.96 |
| $149+ | $0.76 | $1.49 | $4.50 | $1.49 |
| $549+ | $0.56 | $1.10 | $3.30 | $1.10 |
| $1,999+ | $0.41 | $0.80 | $2.45 | $0.80 |
| $6,500+ | $0.33 | $0.65 | $1.95 | $0.65 |
| $27,500+ | $0.28 | $0.55 | $1.65 | $0.55 |
| $50,000+ | $0.26 | $0.50 | $1.50 | $0.50 |
| $100,000+ | $0.20 | $0.40 | $1.50 | $0.40 |
Every eligible account gets $6 of free usage monthly. Each deposit keeps its prices until spent; paid funds never expire. People and Jobs bill per successful search, Refresh per accessible profile. Full profiles in People use the read rate per full profile. See all billing details.
Larger deposits unlock lower endpoint prices. Each deposit keeps its prices until spent. See the full deposit table on the pricing page. Prices in USD, ex-tax.
Because the response is plain JSON, Python's built-in csv module writes it to a file in a few lines. No extra libraries. This reads every video from the search and writes one row each:
Open videos.csv in Sheets or Excel and you have a finished list. Swap the query, run it again, and append to build a bigger dataset.
Related: Google Videos Scraper · Google Search API · Google Images API · API docs
When a different tool fits better: pulling a channel's full upload history, comment threads, or view counts is what the YouTube Data API is built for. This endpoint returns the public video results Google shows for a search, which is what most research and content work needs, but it is not the official YouTube API.
No. With the CrustAPI endpoint you send one HTTP request with the requests library and get clean JSON back. There is no browser to drive and no HTML to parse, so the code above is the whole scraper.
Title, channel, duration, publish date, source, the video link, and a thumbnail image URL, plus its position in the results. Enough to build a research set or a content feed without a second call.
Logged-out, public-only collection has repeatedly defeated computer-fraud and contract claims, while Google's Terms restrict automated access that violates instructions like robots.txt. What you get is the same public results anyone sees on the Videos tab.
A search returns the videos Google shows for that query on one page. You pay the applicable price per successful search, however many videos come back, and a search that finds none costs nothing. Pass a page number to pull more.
The response is plain JSON, so Python's built-in csv module writes it to a file in a few lines. The Save to CSV section above has the exact code, no extra libraries.
Yes. Try it free, no credit card, and paid funds never expire. That is enough to pull several full result pages while you build.
the free plan covers a real search. Run one query and look at the JSON that comes back.
Try for free