Scavio provides a REST API that you can call from any Ruby application. Send a POST request with your query, get structured JSON back. Here is how to use every platform.
Google Search
Web search with knowledge graph, PAA, and AI overviews.
require "net/http"
require "json"
api_key = "your_scavio_api_key"
uri = URI("https://api.scavio.dev/api/v1/search")
http = Net::HTTP.new(uri.host, uri.port)
http.use_ssl = true
request = Net::HTTP::Post.new(uri)
request["x-api-key"] = api_key
request["Content-Type"] = "application/json"
request.body = { query: query }.to_json
response = http.request(request)
data = JSON.parse(response.body)
puts JSON.pretty_generate(data)Amazon Search
Product search with prices, ratings, and reviews.
require "net/http"
require "json"
api_key = "your_scavio_api_key"
uri = URI("https://api.scavio.dev/api/v1/amazon/search")
http = Net::HTTP.new(uri.host, uri.port)
http.use_ssl = true
request = Net::HTTP::Post.new(uri)
request["x-api-key"] = api_key
request["Content-Type"] = "application/json"
request.body = { query: query, marketplace: "us" }.to_json
response = http.request(request)
data = JSON.parse(response.body)
puts JSON.pretty_generate(data)Reddit Search
Community, posts & threaded comments from any subreddit.
require "net/http"
require "json"
api_key = "your_scavio_api_key"
uri = URI("https://api.scavio.dev/api/v1/reddit/search")
http = Net::HTTP.new(uri.host, uri.port)
http.use_ssl = true
request = Net::HTTP::Post.new(uri)
request["x-api-key"] = api_key
request["Content-Type"] = "application/json"
request.body = { query: query, sort: "new" }.to_json
response = http.request(request)
data = JSON.parse(response.body)
puts JSON.pretty_generate(data)YouTube Search
Video search with transcripts and metadata.
require "net/http"
require "json"
api_key = "your_scavio_api_key"
uri = URI("https://api.scavio.dev/api/v1/youtube/search")
http = Net::HTTP.new(uri.host, uri.port)
http.use_ssl = true
request = Net::HTTP::Post.new(uri)
request["x-api-key"] = api_key
request["Content-Type"] = "application/json"
request.body = { query: query }.to_json
response = http.request(request)
data = JSON.parse(response.body)
puts JSON.pretty_generate(data)Walmart Search
Product search with pricing and fulfillment data.
require "net/http"
require "json"
api_key = "your_scavio_api_key"
uri = URI("https://api.scavio.dev/api/v1/walmart/search")
http = Net::HTTP.new(uri.host, uri.port)
http.use_ssl = true
request = Net::HTTP::Post.new(uri)
request["x-api-key"] = api_key
request["Content-Type"] = "application/json"
request.body = { query: query }.to_json
response = http.request(request)
data = JSON.parse(response.body)
puts JSON.pretty_generate(data)Error Handling
The API returns standard HTTP status codes. Check for 200 (success), 401 (invalid API key), 429 (rate limit), and 500 (server error). The response body always includes a descriptive error message.
Next Steps
- Quickstart guide — get your API key and make your first request
- Rate limits — understand credit usage and limits
- Error reference — full list of error codes and troubleshooting