Skip to main content

Base URL

https://api.scriptbase.app

Authentication

All endpoints require authentication via API key. See Authentication for details.

Endpoints by Category

YouTube Data

EndpointMethodCreditsDescription
/api/v1/videos/:idGET1Get video metadata
/api/v1/videos/batchPOST1/videoBatch video metadata
/api/v1/channels/:idGET1Get channel info
/api/v1/channels/:id/videosGET1List channel videos
/api/v1/playlists/:idGET1Get playlist info
/api/v1/playlists/:id/videosGET1List playlist videos
/api/v1/searchGET5Search YouTube

Transcripts

EndpointMethodCreditsDescription
/api/v1/transcripts/:videoIdGET2Get video transcript
/api/v1/transcripts/batchPOST2/videoBatch transcripts
/api/v1/transcripts/:videoId/translateGET2Translate transcript

Web Scraping

EndpointMethodCreditsDescription
/api/v1/scrapeGET5Scrape URL to markdown
/api/v1/scrape/mapGET5Map website URLs
/api/v1/scrape/crawlPOST10+5/pageCrawl entire website

Account & Monitoring

EndpointMethodCreditsDescription
/api/v1/accountGET0Get account info
/api/v1/account/usageGET0Get usage statistics
/api/v1/jobs/:jobIdGET0Poll job status

Quick Start Examples

Get Video Metadata

curl "https://api.scriptbase.app/api/v1/videos/dQw4w9WgXcQ" \
  -H "X-API-Key: sk_your_key"

Get Transcript

curl "https://api.scriptbase.app/api/v1/transcripts/dQw4w9WgXcQ?format=text" \
  -H "X-API-Key: sk_your_key"

Response Format

All endpoints return JSON with this structure:
{
  "success": true,
  "data": { /* endpoint-specific data */ },
  "meta": {
    "creditsUsed": 1,
    "creditsRemaining": 999,
    "rateLimit": {
      "limit": 60,
      "remaining": 59,
      "resetAt": 1704326400
    }
  }
}
See Response Format for details.

Error Handling

Errors follow this format:
{
  "success": false,
  "error": {
    "code": "ERROR_CODE",
    "message": "Human-readable description"
  }
}
See Error Reference for all error codes.