New:Introducing Socket Scanning for VS Code Marketplace Extensions.Learn more →
Get Started

scavio

Package Overview
Dependencies
Maintainers
1
Versions
23
Alerts
File Explorer

Advanced tools

Socket logo

Install Socket

Detect and block malicious and high-risk dependencies

Install

scavio

TypeScript SDK for the Scavio Search API — real-time Google, Amazon, Walmart, YouTube, Reddit, TikTok, and Instagram data

Source
npmnpm
Version
0.2.1
Version published
Weekly downloads
848
1919.05%
Maintainers
1
Weekly downloads
 
Created
Source

Scavio

TypeScript SDK for the Scavio Search API — real-time Google, Amazon, Walmart, YouTube, Reddit, TikTok, and Instagram data.

Install

npm install scavio

Quick Start

import { Scavio } from "scavio";

const client = new Scavio({ apiKey: "sk_..." });

// Google search
const results = await client.search({ query: "web scraping api" });

// Amazon product lookup
const product = await client.amazon.product({ asin: "B09V3KXJPB" });

// Check usage
const usage = await client.getUsage();

Configuration

const client = new Scavio({
  apiKey: "sk_...",               // or set SCAVIO_API_KEY env var
  baseUrl: "https://api.scavio.dev", // default
  timeout: 30_000,                   // ms, default
  maxRequestsPerSecond: 1,           // 1-10, default 1
});

API Reference

Google

await client.google.search({
  query: "web scraping",
  country_code: "us",     // optional
  language: "en",          // optional
  page: 1,                 // optional
  search_type: "news",     // optional
  device: "desktop",       // optional
  nfpr: false,             // optional — no auto-correct
  light_request: false,    // optional
});

Amazon

// Search products
await client.amazon.search({
  query: "laptop",
  domain: "amazon.com",    // optional
  country: "us",           // optional
  sort_by: "price_asc",   // optional
  pages: 1,                // optional
});

// Get product by ASIN
await client.amazon.product({
  asin: "B09V3KXJPB",
  domain: "amazon.com",    // optional
});

Walmart

// Search products
await client.walmart.search({
  query: "tv",
  min_price: 100,          // optional
  max_price: 500,          // optional
});

// Get product by ID
await client.walmart.product({
  product_id: "123456",
});

YouTube

// Search videos
await client.youtube.search({
  query: "typescript tutorial",
  upload_date: "week",     // optional
  sort_by: "relevance",   // optional
  hd: true,                // optional
});

// Get video metadata
await client.youtube.metadata({
  video_id: "dQw4w9WgXcQ",
});

Reddit

// Search posts
await client.reddit.search({
  query: "typescript",
  sort: "relevance",       // optional
  type: "link",            // optional
});

// Get specific post
await client.reddit.post({
  url: "https://reddit.com/r/typescript/comments/abc123",
});

TikTok

// User profile
await client.tiktok.profile({ username: "testuser" });

// User posts
await client.tiktok.userPosts({ sec_user_id: "abc123", count: 30 });

// Video details
await client.tiktok.video({ video_id: "vid123" });

// Video comments
await client.tiktok.videoComments({ video_id: "vid123", count: 20 });

// Comment replies
await client.tiktok.commentReplies({ video_id: "vid123", comment_id: "c456" });

// Search videos
await client.tiktok.searchVideos({ keyword: "dance", sort_type: "likes" });

// Search users
await client.tiktok.searchUsers({ keyword: "cooking" });

// Hashtag info
await client.tiktok.hashtag({ hashtag_name: "fyp" });

// Hashtag videos
await client.tiktok.hashtagVideos({ hashtag_id: "h789", count: 30 });

// User followers
await client.tiktok.userFollowers({ sec_user_id: "abc123" });

// User followings
await client.tiktok.userFollowings({ sec_user_id: "abc123" });

Instagram

// User profile
await client.instagram.profile({ username: "instagram" });

// User posts / reels / tagged
await client.instagram.userPosts({ username: "instagram", count: 12 });
await client.instagram.userReels({ username: "instagram" });
await client.instagram.userTagged({ username: "instagram" });

// User stories
await client.instagram.userStories({ username: "instagram" });

// Post detail (by url, media_id, or shortcode)
await client.instagram.post({ shortcode: "DUajw4YkorV" });

// Post comments and replies
await client.instagram.postComments({ shortcode: "DUajw4YkorV", sort_order: "newest" });
await client.instagram.commentReplies({ media_id: "123", comment_id: "456" });

// Search
await client.instagram.searchUsers({ keyword: "justin" });
await client.instagram.searchHashtags({ keyword: "fashion" });

// Followers / followings
await client.instagram.userFollowers({ username: "instagram", count: 50 });
await client.instagram.userFollowings({ username: "instagram" });

Usage

const usage = await client.getUsage();

Error Handling

import { Scavio, InvalidAPIKeyError, RateLimitError } from "scavio";

try {
  const results = await client.search({ query: "test" });
} catch (error) {
  if (error instanceof InvalidAPIKeyError) {
    // 401 — bad API key
  } else if (error instanceof RateLimitError) {
    // 429 — too many requests
  }
}

All error classes:

ClassHTTP StatusDescription
MissingAPIKeyError—No API key provided
InvalidAPIKeyError401Invalid API key
InsufficientCreditsError402No credits remaining
BadRequestError400Invalid request parameters
RateLimitError429Rate limit exceeded
ScavioAPIErrorotherCatch-all (has .statusCode)

Runtime Support

  • Node.js 18+
  • Deno
  • Bun

Zero dependencies — uses native fetch.

License

MIT

About Scavio

Scavio is a unified search API built for AI agents — one API key, structured JSON, no scraping or proxies. A real-time Tavily alternative and SerpAPI alternative with data from:

Get a free API key and explore the documentation.

Keywords

search

FAQs

Package last updated on 11 Jun 2026

Related posts