Skip to main content
For AI agents: use llms.txt for a full index of these docs.
Every Stophy endpoint uses the same base URL and bearer key. Data endpoints take a JSON body and return a consistent response.

Features

Search and AI answers

Google results, news, images, papers and trends, and Google AI Mode answers.

Video

YouTube, TikTok and Instagram videos, transcripts and comments.

Social

Posts, profiles and comments from Reddit, Instagram, LinkedIn and Pinterest.

Places and travel

Google Maps and Tripadvisor places and reviews, hotels and flights.

Jobs

Job listings from Google Jobs, LinkedIn, Indeed and Upwork.

Shopping

Amazon, Google Shopping and TikTok Shop products and prices.

Apps

App Store and Google Play apps, reviews and charts.

Real estate

Homes for sale, for rent and sold from Zillow.

Ads

Ad libraries from Meta, Google, TikTok, LinkedIn, Microsoft and Pinterest.
See every endpoint in the sidebar, grouped the same way.

Base URL

Every endpoint is a POST with a JSON object body. The path is /v1/ plus the endpoint id with dots as slashes: google.search is /v1/google/search, and youtube.transcript is /v1/youtube/transcript. Unknown input fields return 400.

Authentication

Create a key in the dashboard. Send it with every request:
An invalid or missing key returns 401 with code unauthorized.

Responses

A successful call returns exactly success, data, creditsUsed, and requestId:
data is a single object. A list is returned in data.results, with data.cursor when another page exists. Fields are not nested by owner: a value that belongs to a related resource carries that resource in its name, such as videoId, videoUrl, channelName and placeId. Empty values are omitted. A failed call returns an error status and { "success": false, "error": { ... } }. See Errors.

One call, one page, one price

Each call returns one page. Most calls cost 1 credit and some cost 2. Five long lists cost 1 credit per 10 results. Instagram and TikTok transcripts cost more when the audio has to be transcribed. See Credits and billing. Some endpoints take page: send page: 2, then 3, until data.results is empty. Others take cursor: send back the cursor from the response. The rest return everything in one call. See Page through results. Request parameters are top-level fields of the JSON body. The body is the only input, and the response format is fixed. To point at one thing, a request names it the way the response does. Send its link or its id, never both: videoUrl or videoId, placeUrl or placeId, userUrl or username, postUrl or postId (Instagram: postCode), and so on. Each endpoint’s reference lists the pair. Sending both, or neither, returns a 400.