API Examples

Practical examples for integrating ThumbGrab into your workflow.

Node.js: Extract and Save

const fs = require('fs'); const fetch = require('node-fetch'); async function extractAndSave(videoUrl) { // Extract thumbnail info const response = await fetch('https://thumbgrab.cc/api/v1/extract', { method: 'POST', headers: { 'Authorization': 'Bearer YOUR_API_KEY', 'Content-Type': 'application/json', }, body: JSON.stringify({ url: videoUrl }), }); const data = await response.json(); // Download the best thumbnail const best = data.thumbnails.find(t => t.available); if (best) { const imgResponse = await fetch(best.url); const buffer = await imgResponse.buffer(); fs.writeFileSync(`${data.videoId}.jpg`, buffer); console.log(`Saved: ${data.videoId}.jpg`); } } extractAndSave('https://youtube.com/watch?v=dQw4w9WgXcQ');

Python: Bulk Download

import requests import os API_KEY = 'YOUR_API_KEY' def bulk_download(urls): response = requests.post( 'https://thumbgrab.cc/api/v1/extract/bulk', headers={ 'Authorization': f'Bearer {API_KEY}', 'Content-Type': 'application/json', }, json={'urls': urls} ) results = response.json()['results'] for result in results: if result['success'] and result['bestThumbnail']: img = requests.get(result['bestThumbnail']['url']) filename = f"{result['videoId']}.jpg" with open(filename, 'wb') as f: f.write(img.content) print(f"Downloaded: {filename}") urls = [ 'https://youtube.com/watch?v=video1', 'https://youtube.com/watch?v=video2', ] bulk_download(urls)

Error Handling

async function safeExtract(url) { try { const response = await fetch('https://thumbgrab.cc/api/v1/extract', { method: 'POST', headers: { 'Authorization': 'Bearer YOUR_API_KEY', 'Content-Type': 'application/json', }, body: JSON.stringify({ url }), }); if (!response.ok) { const error = await response.json(); throw new Error(error.message || 'API request failed'); } return await response.json(); } catch (error) { console.error('ThumbGrab API error:', error.message); return null; } }
API Examples | ThumbGrab Help | ThumbGrab Help