# Mindcase — Web Data API for AI Agents

> This is a skills file for AI coding agents (Claude Code, Cursor, etc.).
> Drop it into your project and the agent will know exactly how to use the
> Mindcase API to collect structured web data. No further explanation needed.

> **First — get the API key.** Every call needs the user's Mindcase API key. If
> the user hasn't given you one, **ask them for it now.** If they don't have a
> key yet, tell them: go to **https://console.mindcase.co**, sign up, copy the
> key, and paste it back here. Then use it as `Authorization: Bearer mk_live_...`
> on every request. Do not attempt calls without a key — they will return `401`.

---

## What Mindcase is

Mindcase is a **web data API**. You ask it to call an API (for a specific
platform + task, e.g. `linkedin/profiles` or `google-maps/places`),
and it returns clean, structured JSON. There are 70+ APIs across LinkedIn,
Amazon, Google, Instagram, TikTok, YouTube, and more platforms.

You do NOT need to build or maintain any scrapers. You call one endpoint, poll
for results, and get rows of data.

- **API base URL:** `https://api.mindcase.co/api/v1`
- **Auth:** Bearer token — `Authorization: Bearer mk_live_...`
- **Get an API key:** https://console.mindcase.co (sign up → copy your key)
- **Billing:** pay-per-row, prepaid wallet. Each agent has a price per 1,000 rows
  (see the catalog below). Runs are charged to the wallet of the key's owner.

---

## Authentication

Every request (except the public catalog endpoints) needs the API key:

```
Authorization: Bearer mk_live_xxxxxxxxxxxxxxxxxxxx
```

If the key is missing or invalid → `401`. If the wallet has no balance → `402`.

---

## Picking the agent and its inputs

1. **Pick the agent.** Scan the **Agent index** for the platform + task, then
   read its block in **Agent reference** below for the exact inputs and outputs.
2. **Confirm the inputs before running.** If the user's request doesn't give you
   a value for a required (or conditionally-required) input — a search term, a
   location, the URLs, how many rows — **ask the user for it first.** A run with
   missing or guessed inputs fails or returns nothing. Don't invent inputs.
3. **Send only the keys listed under that agent's Inputs** — extra keys are
   rejected with `422`.
4. You also need the user's **API key** (see the top of this file). If you don't
   have it, ask for it before running.

## The core workflow (run → poll → results)

Running an agent is **asynchronous**:

1. **POST** to `/agents/{group}/{slug}/run` with `{ "params": {...} }` → returns a `job_id`.
2. **Poll GET** `/jobs/{job_id}/results` every ~2s until `status` is `completed`.
3. The completed response contains `data` — an array of result rows.

> **Reading the rows:** each row is keyed by the agent's **Returns** field names
> — the camelCase of each output column's display name (e.g. `businessName`,
> `rating`, `fullName`). Use the **Returns** names listed in the agent's block;
> don't guess from internal field names.

### Step 1 — start a job

```bash
curl -X POST https://api.mindcase.co/v1/data/linkedin/profiles/run \
  -H "Authorization: Bearer mk_live_..." \
  -H "Content-Type: application/json" \
  -d '{
    "params": {
      "queries": [
        "https://www.linkedin.com/in/williamhgates",
        "https://www.linkedin.com/in/satyanadella"
      ]
    }
  }'
```

Response:

```json
{ "job_id": "7f3a1c2e-...", "agent": "linkedin/profiles", "status": "queued", "created_at": "2026-06-01T..." }
```

### Step 2 — poll for results

```bash
curl https://api.mindcase.co/v1/jobs/7f3a1c2e-.../results \
  -H "Authorization: Bearer mk_live_..."
```

While running:

```json
{ "status": "running", "message": "Job is running. Results available when completed.", "row_count": 0 }
```

When completed:

```json
{
  "status": "completed",
  "row_count": 2,
  "data": [
    { "fullName": "Bill Gates", "headline": "...", "followers": 35000000, ... },
    { "fullName": "Satya Nadella", "headline": "...", "followers": 11000000, ... }
  ]
}
```

If the wallet ran out mid-run, you still get the rows collected so far, plus a
`notice` field explaining the balance was exhausted.

### Status values
`queued` → `running` → `completed` | `failed` | `cancelled`

### Handling failures
- **`failed`** → read the `error` field in the results response and report it to
  the user; don't blindly retry.
- **`401`** → stop and ask the user for a valid API key. Don't retry the same key.
- **`400` / "invalid input" on a search agent** → it may need a **location** (a
  city, region, or pincode). Add one and try again.
- Jobs can take 30s to a few minutes — keep polling every ~2s. A `"running"`
  response with `row_count: 0` is normal, not an error.

### Copy-paste: run and poll to completion

No SDK needed — it's a plain REST API. Drop one of these helpers into your
project and call `run(agent, params)`. It posts the job, polls every ~2s, and
returns the rows (or raises on failure/timeout).

```python
import time, requests

API = "https://api.mindcase.co/api/v1"
HEADERS = {"Authorization": "Bearer mk_live_...", "Content-Type": "application/json"}

def run(agent, params, poll=2.0, timeout=600):
    job_id = requests.post(f"{API}/agents/{agent}/run",
                           json={"params": params}, headers=HEADERS).json()["job_id"]
    deadline = time.time() + timeout
    while time.time() < deadline:
        r = requests.get(f"{API}/jobs/{job_id}/results", headers=HEADERS).json()
        if r["status"] == "completed":
            return r["data"]
        if r["status"] in ("failed", "cancelled"):
            raise RuntimeError(r.get("error") or r["status"])
        time.sleep(poll)
    raise TimeoutError(job_id)

rows = run("linkedin/profiles", {"queries": ["https://www.linkedin.com/in/williamhgates"]})
for row in rows:
    print(row["fullName"], row.get("followers"))
```

```js
const API = "https://api.mindcase.co/api/v1";
const HEADERS = { Authorization: "Bearer mk_live_...", "Content-Type": "application/json" };

async function run(agent, params, { poll = 2000, timeoutMs = 600000 } = {}) {
  const { job_id } = await (await fetch(`${API}/agents/${agent}/run`, {
    method: "POST", headers: HEADERS, body: JSON.stringify({ params }),
  })).json();
  const deadline = Date.now() + timeoutMs;
  while (Date.now() < deadline) {
    const r = await (await fetch(`${API}/jobs/${job_id}/results`, { headers: HEADERS })).json();
    if (r.status === "completed") return r.data;
    if (r.status === "failed" || r.status === "cancelled") throw new Error(r.error || r.status);
    await new Promise((res) => setTimeout(res, poll));
  }
  throw new Error(`timed out: ${job_id}`);
}

const rows = await run("google-maps/places",
  { keywords: ["coffee"], location: "San Francisco, USA", maxResults: 20 });
console.log(rows);
```

---

## All endpoints

| Method | Path | Auth | Purpose |
|--------|------|------|---------|
| GET | `/agents` | yes | List agent groups |
| GET | `/agents/all` | no | List every agent (catalog) |
| GET | `/agents/{group}` | yes | List agents in a group |
| GET | `/agents/{group}/{slug}` | no | Agent detail + parameter schema |
| POST | `/agents/{group}/{slug}/run` | yes | Start a job → returns `job_id` |
| GET | `/jobs` | yes | List your jobs |
| GET | `/jobs/{job_id}` | yes | Job status (`status`, `row_count`, timestamps) |
| DELETE | `/jobs/{job_id}` | yes | Cancel a running job |
| GET | `/jobs/{job_id}/results` | yes | Job results (`data` array when completed) |
| GET | `/balance` | yes | Remaining wallet balance (USD) |

`{slug}` may contain a slash for nested agents (e.g. `google/maps/places` →
group `google`, slug `maps/places`).

---

## Looking up an agent (fallback)

Every agent's full schema — inputs, enum `options`, and the exact output field
names — is embedded below in **Agent reference**, so you normally don't need to
fetch anything. Only if an agent isn't listed here (e.g. newly added), fetch its
schema:

```bash
curl https://api.mindcase.co/v1/data/linkedin/profiles
```

Returns (abridged):

```json
{
  "name": "LinkedIn Profile Details",
  "group": "linkedin",
  "slug": "profiles",
  "price_per_1k_usd": 3.5,
  "unit": "profiles",
  "parameters": {
    "queries": {
      "type": "array",
      "required": true,
      "name": "Profile URLs",
      "description": "LinkedIn profile URLs to fetch full details for. One per line."
    }
  },
  "output_schema": [ { "name": "Full Name", "field": "fullName", "type": "string" }, ... ],
  "sample_data": [ ... ],
  "sample_input": { "queries": ["https://www.linkedin.com/in/williamhgates", ...] }
}
```

- `parameters` — what to put in `params` when running. Types: `string`, `array`,
  `number`, `integer`, `boolean`, `date`. `required: true` means it must be set.
  Enum values are inline in each parameter's `options` array.
- `sample_input` — an example `params` payload. Send **only keys that appear in
  `parameters`**; `sample_input` sometimes carries extra keys the API rejects
  with `422 Unknown parameters`.
- `output_schema` — the columns you'll get back. The API returns each row keyed
  by the camelCase of a column's display `name` (e.g. `Business Name` →
  `businessName`), **not** by its internal `field`.

---

## Controlling row count & cost

Most agents accept a row-limit parameter — common names: `maxResults`,
`maxItems`, `limit`, `resultsLimit`, `maxReviews`, `maxPosts`, `maxPages`.
Set it to cap how many rows (and how much money) a run uses.
Cost ≈ `rows / 1000 × price_per_1k_usd`.

Check `/balance` before large runs.

---

## Errors

| Code | Meaning |
|------|---------|
| 400 | Bad request — invalid/missing params |
| 401 | Invalid or missing API key |
| 402 | Insufficient wallet balance — top up at console.mindcase.co |
| 404 | Unknown agent or job |
| 422 | Unknown parameters — you sent a key that isn't in the agent's `parameters`. Send only keys listed there (don't copy extra keys from `sample_input`). |
| 429 | Rate limit exceeded (default 60 requests/min per key) — retry after 60s |

---

<!-- skills:catalog:start (auto-generated by scripts/gen-skills-catalog.mjs — do not edit by hand) -->
## API index (75 APIs)

Scan to pick an API by platform + task, then read its full block in the
**API reference** section below. Reference each by `group/slug`.

| API ID | Name | Price | What it does |
|----------|------|-------|--------------|
| `airbnb/listings` | Airbnb Listings API | $2/1k listings | Get Airbnb listing records — price, availability, ratings, host info, amenities, photos — by listing URL or by location search |
| `airbnb/reviews` | Airbnb Reviews API | $2/1k reviews | Extract Airbnb reviews — text, author, rating, date — from provided URLs, specifying a locale |
| `amazon/products` | Amazon Products API | $1.5/1k products | Extract complete Amazon product data — by product/category/search URL from any marketplace, or by keyword search. Full detail page for every product either way. |
| `amazon/reviews` | Amazon Reviews API | $0.5/1k reviews | Extract Amazon product reviews—ratings, text, verification, helpful votes, and any attached photos/videos—from product URLs or ASINs on any marketplace |
| `blinkit/category` | Blinkit Category API | $1/1k products | Extract Blinkit category page listings — products, prices, stock, ratings — from category URLs |
| `blinkit/products` | Blinkit Products API | $1/1k products | Extract Blinkit product details — MRP, selling price, stock — from product URLs |
| `blinkit/search` | Blinkit Search API | $1/1k products | Search Blinkit by query — listings, prices, stock, ratings, images |
| `booking/listings` | Booking Listings API | $2/1k listings | Get Booking.com property listing records — price, guest score, rooms, facilities, photos, location, and operator/trader info — by destination search or hotel URL |
| `booking/reviews` | Booking Reviews API | $2/1k reviews | Extract Booking.com hotel reviews, ratings, stars, and reviewer details from hotel URLs |
| `etsy/products` | Etsy Products API | $1/1k products | Extract full Etsy product listings — title, price, description, images/video, favorites, reviews, shop identity and variations — by keyword search, by direct product (listing) URL, or by category/search/shop URL. |
| `facebook/ads` | Facebook Ads Library API | $5/1k ads | See every ad a brand is running in Meta's Ad Library — one row per ad with creative copy, headline, CTA, destination link, dates, how long it's been live, format, platforms, the advertiser's profile, carousel cards, and EU reach where it's disclosed. |
| `facebook/comments` | Facebook Comments API | $2.5/1k comment | Extract comments and replies from Facebook posts, reels, and photos — text, author, likes, reply count, and thread position — by post URL |
| `facebook/events` | Facebook Events API | $10/1k events | Find Facebook events by keyword search or event URL — one row per event with name, date, venue, host, attendance, and ticket link. |
| `facebook/followers` | Facebook Followers & Following API | $5/1k profile | Pull the profiles that follow a Facebook page — or the profiles that page follows — as clean stubs with name, profile URL, profile ID, avatar, and bio. Choose followers, following, or both. |
| `facebook/groups` | Facebook Groups API | $2/1k posts | Extract posts from public Facebook groups — post text, author, reactions, comments, shares, attached media, @-mentions, and a sample of top comments — by group URL |
| `facebook/marketplace` | Facebook Marketplace API | $5/1k listings | Extract Facebook Marketplace listings — title, price, condition, location, attributes, and photos — from any category or search URL. |
| `facebook/pages` | Facebook Pages API | $9.5/1k pages | Look up public Facebook pages and get a clean business profile for each — name, category, intro, follower and like counts, contact details (phone, email, website, address), rating, price range, hours, the confirmed owner behind the page, whether it's running ads, and its links to Instagram, X, YouTube, TikTok and more. |
| `facebook/posts` | Facebook Posts API | $3/1k posts | Extract posts from public Facebook pages — text, author, engagement (reactions, comments, shares, video views), the full reaction-type breakdown, media, links, hashtags, mentions, and collaborators |
| `facebook/reels` | Facebook Reels API | $5/1k reel | Pull reels from public Facebook pages — play count, publish time, audio track, video and thumbnail links, dimensions, and caption/dubbed languages, with the owning page's identity. No captions text or like/comment counts (this source returns plays as the only engagement number). |
| `facebook/reviews` | Facebook Reviews API | $1.5/1k review | Extract Facebook page reviews — the recommend / don't-recommend flag, review text, date, reviewer, likes, tags, and any photos — from one or more Facebook page URLs |
| `flipkart/products` | Flipkart Products API | $1/1k products | Extract Flipkart product details — title, price, MRP, discount, ratings, specifications, seller info — from product URLs, with optional per-pincode delivery and pricing |
| `google-maps/places` | Google Maps Places API | $4/1k places | Search Google Maps places for address, rating, reviews, contact info, opening hours, and images |
| `google-maps/reviews` | Google Maps Reviews API | $0.25/1k reviews | Extract reviews from Google Maps places — reviewer info, ratings, text, responses — using start URLs and max reviews |
| `google/images` | Google Images API | $1/1k results | Extract Google Images details — URL, source, description, dimensions, and thumbnail — by providing a query and image count |
| `google/news` | Google News API | $1/1k news | Get Google News articles for any search query — headline, publisher, published date, link, and thumbnail — with region/language and date-range filters |
| `google/play/reviews` | Google Play Reviews API | $0.1/1k reviews | Extract Google Play reviews, including reviewer name, rating, publish date, and full text |
| `google/search` | Google Search API | $1/1k pages | Scrape Google Search results — organic links, snippets, titles — with country/language filters and search operators |
| `google/shopping` | Google Shopping API | $3/1k results | Extract Google Shopping product listings and details by keyword, country, language, count, and date range |
| `indeed/jobs` | Indeed Jobs API | $0.05/1k jobs | Extract Indeed job listings — title, company, salary, location, skills, hiring-demand signals, and apply links — by keyword + location, or by specific Indeed job ID |
| `instagram/comments` | Instagram Comments API | $0.5/1k comments | Extract top Instagram comments — text, timestamps, likes, commenter details, and thread sizes — from post or reel URLs |
| `instagram/followers` | Instagram Followers & Following API | $0.75/1k profiles | Extract the followers or following list of any public Instagram account — handle, name, verification, and privacy |
| `instagram/posts` | Instagram Posts & Reels API | $2/1k posts | Extract Instagram posts and reels — captions, engagement, media, music, and authors — by profile (posts / reels / tagged tabs), post URL, hashtag, or keyword search |
| `instagram/profiles` | Instagram Profiles API | $1.5/1k profiles | Extract Instagram account data — bio, followers, verification, business info, links, and recent posts — by username or keyword search |
| `instamart/category` | Instamart Category API | $1/1k products | Extract Instamart category page listings — products, prices, stock, ratings — from category URLs |
| `instamart/products` | Instamart Products API | $1/1k products | Extract Instamart product details — MRP, selling price, stock — from product URLs |
| `instamart/search` | Instamart Search API | $1/1k products | Search Instamart by query — listings, prices, stock, ratings, images |
| `linkedin/ads-library` | LinkedIn Ads API | $2/1k ads | Extract LinkedIn ad details, ad copy, media URL, and call-to-action buttons from Ad Library URLs |
| `linkedin/companies` | LinkedIn Companies API | $4/1k companies | Get LinkedIn company data — by company URL, or by searching with filters (location, size, industry). Returns the full company profile either way. |
| `linkedin/company-employees` | LinkedIn Company Employees API | $4/1k profiles | List LinkedIn company employees — name, role, location, seniority — from a list of company URLs |
| `linkedin/jobs` | LinkedIn Jobs API | $1/1k jobs | Extract LinkedIn job postings — title, company, location, description, salary, and full company profile — by searching with job titles, location, and filters |
| `linkedin/post-comments` | LinkedIn Post Comments API | $2/1k comments | Extract LinkedIn post comments and replies, including likes and reactions, from a list of post URLs |
| `linkedin/post-reactions` | LinkedIn Post Reactions API | $2/1k reactions | Extract reactions from LinkedIn posts and comments, providing likes and appreciations |
| `linkedin/posts` | LinkedIn Posts API | $2/1k posts | Get LinkedIn posts — from any profile, company, post, or feed URL, or by searching with author / mention / content-type filters. Returns the same clean post record either way. |
| `linkedin/profile-comments` | LinkedIn Profile Comments API | $2/1k comments | Extract LinkedIn profile comments and their social activities like likes and reactions, requiring no input |
| `linkedin/profile-reactions` | LinkedIn Profile Reactions API | $2/1k reactions | Monitor public LinkedIn profiles for reactions, along with full post details and social activities |
| `linkedin/profiles` | LinkedIn Profiles API | $4/1k profiles | Get complete LinkedIn profiles from profile URLs — headline, about, full work experience, education, skills, certifications, and more. No LinkedIn login required. To find people by keyword and filters first, use the LinkedIn Profiles Search agent, then feed its URLs here. |
| `linkedin/profiles-search` | LinkedIn Profiles Search API | $100/1k search pages | Find people on LinkedIn by keyword plus rich filters (title, company, school, seniority, industry, location, and more). Each match gives a person's name, headline, location, photo, and profile URL, grouped by search page — every search page holds up to 25 profiles. Feed the profile URLs into LinkedIn Profiles to get full details. |
| `naukri/job` | Naukri Jobs API | $2/1k jobs | Pull details for a specified number of Naukri job postings, including title, company, and experience |
| `reddit/comments` | Reddit Comments API | $0.1/1k results | Extract every comment from a Reddit post — the full threaded discussion flattened to one row per comment, at any reply depth. |
| `reddit/posts` | Reddit Posts API | $0.1/1k results | Extract Reddit posts from any subreddit, post, user, or feed — with an optional keyword search on top. Posts only (no comment tree). |
| `shopify/products` | Shopify Products API | $1/1k products | Extract product data — prices, variants, images, descriptions — from any Shopify-powered store URL |
| `tiktok/comments` | TikTok Comments API | $0.5/1k comments | Extract top-level comments from TikTok videos — comment text, likes, reply counts, commenter handle and profile, timestamps, and mentions — from video URLs or by profile. |
| `tiktok/followers` | TikTok Followers & Following API | $1/1k profiles | Pull the follower or following list of any public TikTok account — each row is a full profile (handle, name, followers, likes, videos, verified, bio) of someone connected to the queried account. |
| `tiktok/posts` | TikTok Posts API | $2/1k posts | Scrape TikTok videos and photo posts by profile, hashtag, keyword, post URL, or sound — with full engagement metrics, author stats, hashtags, mentions, and music. |
| `tiktok/profiles` | TikTok Profiles API | $2.5/1k profiles | Find TikTok accounts by keyword — handle, display name, bio, follower and engagement counts, verification, and business/seller info. |
| `tiktok/shop` | TikTok Shop API | $15/1k products | Search TikTok Shop by keyword and extract product listings — title, price, discount, seller, rating, sold count, promo labels, full description, and every variant with its stock and inventory. |
| `tripadvisor/attractions` | TripAdvisor Attractions API | $2/1k attractions | Extract TripAdvisor attraction (things to do) listings: contact details, full address, geo coordinates, rating with breakdown, league ranking, attraction types, Viator booking links, bookable ticket offers, and photos. |
| `tripadvisor/hotels` | TripAdvisor Hotels API | $2/1k hotels | Extract TripAdvisor hotel listings: contact details, full address, geo coordinates, star rating with breakdown, league ranking, hotel class, room count, amenities, price range, OTA price offers, room tips, and photos. |
| `tripadvisor/restaurants` | TripAdvisor Restaurants API | $2/1k restaurants | Extract TripAdvisor restaurant listings: contact details, full address, geo coordinates, rating with breakdown, league ranking, cuisines, dishes, meal types, dietary options, features, opening hours, menu and order-online links, price level, and photos. |
| `tripadvisor/reviews` | TripAdvisor Reviews API | $2/1k reviews | Extract Tripadvisor reviews for specified places, with text, rating, dates, reviewer, owner responses, and place details |
| `twitter/followers` | Twitter / X Followers API | $0.25/1k profiles | Pull a Twitter (X) profile's followers or following as full profile records — username, display name, bio, follower/following counts, location, links, account age, and latest tweet — from a single handle or profile URL. |
| `twitter/profiles` | Twitter / X Profiles API | $0.5/1k profiles | Get Twitter (X) user profiles — bio, follower/following counts, verification status and type, location, and links. Look them up by handle or profile URL, or discover accounts by keyword search. Returns the same complete profile either way. |
| `twitter/replies` | Twitter / X Replies API | $0.25/1k replies | Extract every reply to a given tweet — each returned as a full tweet record with author profile, engagement metrics, media, mentions and quoted content. The original tweet is included too, flagged so you can tell it from the replies. |
| `twitter/retweeters` | Twitter / X Retweeters API | $0.25/1k profiles | Find everyone who retweeted a given tweet, each returned as a full Twitter (X) profile — handle, display name, bio, follower/following counts, verification status, location, and links. |
| `twitter/tweets` | Twitter / X Tweets API | $0.25/1k tweets | Extract tweets from Twitter (X) by handle, search keyword, or tweet URL — with full text, date, media, quoted/retweeted content, and all engagement metrics |
| `upwork/jobs` | Upwork Jobs API | $3/1k jobs | Extract Upwork job postings with their title, description, budget, required skills, and client details |
| `yelp/business` | Yelp Business API | $0.5/1k businesses | Extract Yelp business profiles — name, address, phone, website, ratings, attributes, photos, review insights, popular dishes, and health inspections — by business URL or by location + keyword search. One clean row per business. |
| `yelp/reviews` | Yelp Reviews API | $0.25/1k reviews | Extract individual Yelp reviews from business pages — full review text, star rating, absolute review date, reviewer profile, reader-reaction counts (helpful, thanks, love this, oh no), photos, videos, and owner public replies. One clean row per review. |
| `youtube/channels` | YouTube Channel Details API | $0.5/1k channels | Extract YouTube channel details — name, handle, subscribers, total views/videos, description, country, join date, verification, avatar/banner, and the channel's social + website links — by channel URL, @handle, or keyword search. |
| `youtube/comments` | YouTube Comments API | $0.5/1k comments | Extract YouTube comments — text, likes, replies, author details, and publish date — from any video URL |
| `youtube/videos` | YouTube Videos & Reels API | $0.5/1k videos | Scrape YouTube videos and Reels — by search query, channel URL, or direct video URLs. Get views, likes, comments, duration, publish date, description, keywords, category, channel info, and thumbnails. |
| `zepto/category` | Zepto Category API | $1/1k products | Extract Zepto category page listings — products, prices, stock, ratings — from category URLs |
| `zepto/products` | Zepto Products API | $1/1k products | Extract Zepto product details — MRP, selling price, stock — from product URLs |
| `zepto/search` | Zepto Search API | $1/1k products | Search Zepto by query — listings, prices, stock, ratings, images |
| `zillow/properties` | Zillow Property Records API | $1.5/1k results | Full Zillow property dossier — price, beds/baths, valuation, tax & price history, schools, agent, photos and more — for every property surfaced by a ZIP code, a typed location, or a Zillow search URL. |
<!-- skills:catalog:end -->

---

<!-- skills:agents:start (auto-generated by scripts/gen-skills-catalog.mjs — do not edit by hand) -->
## API reference (75 APIs)

Full schema for every agent — inputs (with types, which are required, and
enum `options`) and the exact field names each run returns. Result rows are
keyed by these **Returns** names (the camelCase of each column's display
name) — use them directly; you do not need to fetch the schema separately.

### `airbnb/listings` — Airbnb Listings API
Get Airbnb listing records — price, availability, ratings, host info, amenities, photos — by listing URL or by location search · **$2/1k listings**

**Example prompts:** "Get details for the Modern Cabin in Big Bear" · "Pull details for the Penthouse in Manhattan and the Villa in Santorini"

**Inputs:**
- `urls` (array, primary) — Airbnb listing URLs (https://www.airbnb.com/rooms/...) to fetch details for.
- `location` (string, primary) — Place to search (e.g. "Paris, France" or "Lisbon"). Returns listings in that area.
- `priceMin` (integer) — Minimum nightly price filter (location search only).
- `priceMax` (integer) — Maximum nightly price filter (location search only).
- `minBedrooms` (integer) — Minimum number of bedrooms (location search only).
- `minBeds` (integer) — Minimum number of beds (location search only).
- `minBathrooms` (integer) — Minimum number of bathrooms (location search only).
- `checkIn` (date, primary) — Check-in date for availability and price.
- `checkOut` (date, primary) — Check-out date for availability and price.
- `adults` (integer, primary) — Number of adults in the party.
- `children` (integer) — Number of children (ages 2-12).
- `infants` (integer) — Number of infants (under 2).
- `pets` (integer) — Number of pets.
- `locale` (string, default "en-US") — Language and region for the listing data. · options (first 25 of 93 — fetch all via `GET /v1/data/airbnb/listings?expand=options`): en-US, az-AZ, id-ID, bs-BA, ca-ES, cs-CZ, sr-ME, da-DK, de-DE, de-AT, de-CH, de-LU, et-EE, en-AU, en-CA, en-GB, en-GY, en-IN, en-IE, en-NZ, en-SG, en-AE, es-AR, es-BZ, es-BO, …
- `currency` (string, default "USD") — Currency for prices. · options (first 25 of 48 — fetch all via `GET /v1/data/airbnb/listings?expand=options`): USD, CZK, AUD, BRL, BGN, CAD, CLP, CNY, COP, CRC, HRK, DKK, EGP, AED, EUR, GHS, HKD, HUF, INR, IDR, ILS, JPY, KZT, KES, MYR, …

**Returns:** listingUrl, title, propertyType, roomType, capacity, summaryDetails, description, location, locationSubtitle, locationPath, latitude, longitude, neighborhoodNotes, ratings, highlights, amenities, houseRules, cancellationPolicy, available, totalPrice, pricePerNight, baseSubtotal, priceQualifier, host, coHosts, images, thumbnail (27 fields)

### `airbnb/reviews` — Airbnb Reviews API
Extract Airbnb reviews — text, author, rating, date — from provided URLs, specifying a locale · **$2/1k reviews**

**Example prompts:** "Latest 200 reviews for the Casa Malca property in Tulum" · "Pull the latest 50 reviews for the top 3 penthouses in Manhattan"

**Inputs:**
- `urls` (string, required) — Airbnb room URL to extract reviews from.
- `locale` (string, default "en-US") — Localized reviews will be extracted in this locale (language and region). · options (first 25 of 93 — fetch all via `GET /v1/data/airbnb/reviews?expand=options`): en-US, az-AZ, id-ID, bs-BA, ca-ES, cs-CZ, sr-ME, da-DK, de-DE, de-AT, de-CH, de-LU, et-EE, en-AU, en-CA, en-GB, en-GY, en-IN, en-IE, en-NZ, en-SG, en-AE, es-AR, es-BZ, es-BO, …
- `maxResults` (integer, primary, default 100) — Number of reviews to return. Use 0 for all.

**Returns:** listingUrl, reviewId, reviewText, translatedText, originalLanguage, rating, postedDate, highlight, highlightType, hostResponse, hostId, hostName, hostProfileUrl, reviewerUserId, reviewerName, reviewerProfile, reviewerAvatar, reviewerLocation, reviewerTenure (19 fields)

### `amazon/products` — Amazon Products API
Extract complete Amazon product data — by product/category/search URL from any marketplace, or by keyword search. Full detail page for every product either way. · **$1.5/1k products**

**Example prompts:** "Get the price and stock status for the Sony WH-1000XM5 and Bose QuietComfort Ultra" · "Find the top 50 products in the Best Sellers in Video Games category"

**Inputs:**
- `urls` (array, primary) — Amazon product URLs or bare ASINs — any marketplace (amazon.com, .in, .de, …). One per line. Category/listing pages are not supported; use a keyword search instead.
- `keywords` (string, primary) — Keyword or phrase to search Amazon for (e.g. 'mechanical keyboard'). Returns the full product detail for each result, with its search rank (1 = top result).
- `marketplace` (string, default "com") — Which Amazon site to search. Applies to keyword search only — URLs always use their own marketplace. · options: com, in, co.uk, de, fr, it, es, ca, com.au, co.jp, com.mx, com.br
- `maxResults` (integer, primary, default 50) — Number of products to return. Use 0 for all.

**Returns:** asin, title, brand, productUrl, marketplace, status, price, currency, listPrice, discount, onDeal, prime, availability, rating, ratingsCount, boughtPastMonth, boughtPastMonthMin, bestSellersRank, bsrCategory, searchRank, soldBy, fulfilledBy, sellerId, usedCondition, usedPrice, usedConditionNote, usedSoldBy, features, description, categoryPath, browseNodeId, productDetails, keySpecs, author, bookFormat, bookEditions, variants, mainImage, images, videos, reviewSummary, reviewTopics (42 fields)

### `amazon/reviews` — Amazon Reviews API
Extract Amazon product reviews—ratings, text, verification, helpful votes, and any attached photos/videos—from product URLs or ASINs on any marketplace · **$0.5/1k reviews**

**Example prompts:** "Get the latest 50 reviews for the Sony WH-1000XM5" · "Pull 100 reviews each for the Kindle Paperwhite and the Kobo Libra 2"

**Inputs:**
- `urls` (string, required) — An Amazon product URL or bare ASIN from any marketplace. A full URL uses its own marketplace; a bare ASIN uses the Marketplace setting.
- `marketplace` (string, default "com") — Which Amazon site to pull reviews from. Applies to bare ASINs only — full URLs always use their own marketplace. · options: com, in, de, co.uk, fr, it, es, ca, com.au, co.jp, com.mx, com.br
- `maxResults` (integer, primary, default 100) — Number of reviews to return in total. Amazon caps at 100 per product; use 0 for the maximum (100).

**Returns:** reviewTitle, reviewText, rating, posted, reviewer, reviewerUrl, verifiedPurchase, amazonVine, helpfulVotes, language, variant, variantAsin, images, videos, mediaType, reviewUrl, reviewId, asin, country, productTitle, productRating, productRatingsTotal, productReviewsTotal, fiveStar, fourStar, threeStar, twoStar, oneStar, productCategory (29 fields)

### `blinkit/category` — Blinkit Category API
Extract Blinkit category page listings — products, prices, stock, ratings — from category URLs · **$1/1k products**

**Example prompts:** "Get all products from the Munchies category for Blinkit store 40144" · "Fetch products from the Dairy category for store 12543"

**Inputs:**
- `category` (string, required) — Top-level category (e.g. Cold Drinks & Juices). · options (first 25 of 27 — fetch all via `GET /v1/data/blinkit/category?expand=options`): Atta, Rice & Dal, Baby Care, Bakery & Biscuits, Beauty & Cosmetics, Books, Chicken, Meat & Fish, Cleaning Essentials, Cold Drinks & Juices, Dairy & Breakfast, Dry Fruits, Masala & Oil, Electronics & Electricals, Fashion & Accessories, Home Furnishing & Decor, Instant & Frozen Food, Kitchen & Dining, Munchies, Organic & Premium, Paan Corner, Personal Care, Pet Care, Pharma & Wellness, Sauces & Spreads, Stationery Needs, Sweet Tooth, Tea, Coffee & Milk Drinks, …
- `sub_category` (string, required) — Sub-category within it (e.g. Soft Drinks). · options (first 25 of 321 — fetch all via `GET /v1/data/blinkit/category?expand=options`): Atta, Besan, Sooji & Maida, Fresh Atta, Millet & Other Flours, Moong & Masoor, Poha, Daliya & Other Grains, Rajma, Chhole & Others, Rice, Toor, Urad & Chana, Baby Accessories & Apparel, Baby Food, Baby Gifting & Toys, Baby Wipes, Bathing Needs, Diapers & More, Feeding Essentials, Health & Safety, Hygiene, Mom Care Needs, Nursing, Oral & Nasal Care, Skin & Hair Care, Baking Ingredients, Biscuit Gift Pack, Bread & Pav, …
- `store_id` (string, primary) — Dark store — pick a city and pincode first. · options (first 25 of 2100 — fetch all via `GET /v1/data/blinkit/category?expand=options`): 34748, 35540, 30908, 42032, 36383, 35298, 44173, 44311, 34762, 30775, 41973, 31045, 43541, 31245, 31084, 33996, 44327, 38832, 41018, 45642, 40004, 41223, 44578, 43099, 33758, …
- `lat` (number) — Or target by coordinates — latitude (use with longitude).
- `lon` (number) — Or target by coordinates — longitude (use with latitude).
- `city` (string) — City — filters the pincode and store lists. · options (first 25 of 253 — fetch all via `GET /v1/data/blinkit/category?expand=options`): New Delhi, Faridabad, Greater Faridabad, Palwal, Gurugram, Rewari, Rohtak, Bahadurgarh, Hisar, Jind, Bhiwani, Sonipat, Karnal, Panipat, Ambala, Panchkula, Yamunanagar, Kaithal, Kurukshetra, Sas Nagar, Patiala, Ludhiana, Moga, Amritsar, Gurdaspur, …
- `pincode` (string) — Pincode — pick a city first; filters the store list. · options (first 25 of 1286 — fetch all via `GET /v1/data/blinkit/category?expand=options`): 110001, 110002, 110003, 110005, 110006, 110007, 110008, 110009, 110010, 110012, 110014, 110015, 110016, 110017, 110018, 110019, 110020, 110021, 110022, 110024, 110025, 110027, 110028, 110029, 110030, …
- `maxResults` (integer, default 0) — How many products to return for the category. Use 0 for all.

**Returns:** productName, brand, variantId, productId, price, mrp, discount, packSize, inStock, stockCount, rating, ratingCount, rank, sponsored, images, productUrl, description, countryOfOrigin, manufacturer, seller, specifications, storeId, latitude, longitude (24 fields)

### `blinkit/products` — Blinkit Products API
Extract Blinkit product details — MRP, selling price, stock — from product URLs · **$1/1k products**

**Example prompts:** "Get the current price and discount for Amul Gold Milk on Blinkit" · "Fetch details for Maggi Noodles, Lay's Classic, and Coca-Cola from Blinkit"

**Inputs:**
- `url` (string, required) — Product page URL to scrape.
- `store_id` (string, primary) — Dark store — pick a city and pincode first. · options (first 25 of 2100 — fetch all via `GET /v1/data/blinkit/products?expand=options`): 34748, 35540, 30908, 42032, 36383, 35298, 44173, 44311, 34762, 30775, 41973, 31045, 43541, 31245, 31084, 33996, 44327, 38832, 41018, 45642, 40004, 41223, 44578, 43099, 33758, …
- `lat` (number) — Or target by coordinates — latitude (use with longitude).
- `lon` (number) — Or target by coordinates — longitude (use with latitude).
- `city` (string) — City — filters the pincode and store lists. · options (first 25 of 253 — fetch all via `GET /v1/data/blinkit/products?expand=options`): New Delhi, Faridabad, Greater Faridabad, Palwal, Gurugram, Rewari, Rohtak, Bahadurgarh, Hisar, Jind, Bhiwani, Sonipat, Karnal, Panipat, Ambala, Panchkula, Yamunanagar, Kaithal, Kurukshetra, Sas Nagar, Patiala, Ludhiana, Moga, Amritsar, Gurdaspur, …
- `pincode` (string) — Pincode — pick a city first; filters the store list. · options (first 25 of 1286 — fetch all via `GET /v1/data/blinkit/products?expand=options`): 110001, 110002, 110003, 110005, 110006, 110007, 110008, 110009, 110010, 110012, 110014, 110015, 110016, 110017, 110018, 110019, 110020, 110021, 110022, 110024, 110025, 110027, 110028, 110029, 110030, …

**Returns:** productName, brand, variantId, productId, price, mrp, discount, packSize, inStock, stockCount, rating, ratingCount, category, rank, sponsored, images, productUrl, description, countryOfOrigin, manufacturer, seller, specifications, storeId, latitude, longitude (25 fields)

### `blinkit/search` — Blinkit Search API
Search Blinkit by query — listings, prices, stock, ratings, images · **$1/1k products**

**Example prompts:** "Search for Amul Milk and Mother Dairy Milk in store 40144" · "Get the first 50 results for Oreo biscuits in store 12345"

**Inputs:**
- `query` (string, required) — What to search for (e.g. milk, chocolate).
- `store_id` (string, primary) — Dark store — pick a city and pincode first. · options (first 25 of 2100 — fetch all via `GET /v1/data/blinkit/search?expand=options`): 34748, 35540, 30908, 42032, 36383, 35298, 44173, 44311, 34762, 30775, 41973, 31045, 43541, 31245, 31084, 33996, 44327, 38832, 41018, 45642, 40004, 41223, 44578, 43099, 33758, …
- `lat` (number) — Or target by coordinates — latitude (use with longitude).
- `lon` (number) — Or target by coordinates — longitude (use with latitude).
- `city` (string) — City — filters the pincode and store lists. · options (first 25 of 253 — fetch all via `GET /v1/data/blinkit/search?expand=options`): New Delhi, Faridabad, Greater Faridabad, Palwal, Gurugram, Rewari, Rohtak, Bahadurgarh, Hisar, Jind, Bhiwani, Sonipat, Karnal, Panipat, Ambala, Panchkula, Yamunanagar, Kaithal, Kurukshetra, Sas Nagar, Patiala, Ludhiana, Moga, Amritsar, Gurdaspur, …
- `pincode` (string) — Pincode — pick a city first; filters the store list. · options (first 25 of 1286 — fetch all via `GET /v1/data/blinkit/search?expand=options`): 110001, 110002, 110003, 110005, 110006, 110007, 110008, 110009, 110010, 110012, 110014, 110015, 110016, 110017, 110018, 110019, 110020, 110021, 110022, 110024, 110025, 110027, 110028, 110029, 110030, …
- `maxResults` (integer, default 0) — How many products to return for the search. Use 0 for all.

**Returns:** productName, brand, variantId, productId, price, mrp, discount, packSize, inStock, stockCount, rating, ratingCount, category, rank, sponsored, images, productUrl, description, countryOfOrigin, manufacturer, seller, specifications, storeId, latitude, longitude (25 fields)

### `booking/listings` — Booking Listings API
Get Booking.com property listing records — price, guest score, rooms, facilities, photos, location, and operator/trader info — by destination search or hotel URL · **$2/1k listings**

**Example prompts:** "Pull all 4-star hotels in Barcelona for check-in 2026-08-10 and check-out 2026-08-14" · "Compare The Savoy, Claridge's, and The Connaught in London by guest score and facilities"

**Inputs:**
- `location` (string, required) — By Search: a destination or search keyword (city, region, landmark, or area), e.g. "Paris" or "Bali villas".
- `checkIn` (date, primary) — Check-in date (YYYY-MM-DD). Required for price and room availability — omit it and price/room columns come back empty.
- `checkOut` (date, primary) — Check-out date (YYYY-MM-DD). Required alongside check-in for pricing.
- `maxResults` (integer, primary, default 12) — Maximum number of listings to return. Use 0 for all.
- `propertyType` (string) — Filter to a property type (Hotels, Apartments, Villas, Guest houses, Hostels, B&Bs, Resorts, Homestays).
- `starsCountFilter` (string) — Filter to properties with at least this official star class (1–5).
- `minScore` (number) — Filter to properties with at least this guest score (0–10, e.g. 8.5).
- `minMaxPrice` (string) — Nightly/total price range for the searched dates, as min and max in the chosen currency (e.g. 150 to 400).
- `sortBy` (string) — Result sort order (defaults to relevance).
- `currency` (string, default "USD") — Currency for prices (EUR, USD, GBP, JPY, INR, MXN, AUD, CAD, …).
- `language` (string, default "en-gb") — Language/locale for the property data.
- `urls` (array) — By URL: Booking.com hotel URLs or search-page URLs. Add check-in/check-out dates for price and room availability.

**Returns:** propertyName, propertyUrl, propertyId, propertyType, starRating, city, country, fullAddress, latitude, longitude, guestScore, scoreLabel, reviewCount, categoryScores, priceFrom, currency, rooms, roomTypes, mainImage, images, facilities, description, highlights, checkInTime, checkOutTime, policies, finePrint, surroundings, traderInfo, licenseNumbers, host, mapUrl (32 fields)

### `booking/reviews` — Booking Reviews API
Extract Booking.com hotel reviews, ratings, stars, and reviewer details from hotel URLs · **$2/1k reviews**

**Example prompts:** "Get the latest 100 reviews for The Plaza Hotel in New York" · "Pull 50 reviews each for Marina Bay Sands, Raffles Hotel Singapore, and Fullerton Hotel"

**Inputs:**
- `urls` (string, required) — Booking.com hotel URL to scrape reviews from.
- `maxReviewsPerHotel` (integer, primary, default 100) — Number of reviews to return. Use 0 for all.
- `sortBy` (string, primary, default "f_relevance") — Sort order for reviews. · options: f_relevance, f_recent_desc, f_recent_asc, f_score_desc, f_score_asc
- `cutoffDate` (date) — Stop loading older/newer reviews past this date. Only applies when Sort By = Newest first OR Oldest first.
- `reviewScores` (array) — Filter to reviews in these score bands. Leave empty for all. · options: review_adj_superb, review_adj_good, review_adj_average_passable, review_adj_poor

**Returns:** reviewId, reviewTitle, liked, disliked, rating, postedDate, language, travelerType, room, checkIn, checkOut, helpfulVotes, photos, propertyResponse, reviewerName, reviewerLocation, reviewerAvatar, hotel (18 fields)

### `etsy/products` — Etsy Products API
Extract full Etsy product listings — title, price, description, images/video, favorites, reviews, shop identity and variations — by keyword search, by direct product (listing) URL, or by category/search/shop URL. · **$1/1k products**

**Inputs:**
- `keywords` (string, primary) — Etsy search keywords (e.g. 'leather wallet').
- `productUrls` (array, primary) — Direct Etsy listing (product) URLs — one per line (e.g. https://www.etsy.com/listing/1070066307/...). Each URL returns exactly that one product. No Max Results applies here.
- `categoryUrls` (string, primary) — Etsy category, search-result, or shop URL. The agent crawls it and returns the listings found.
- `maxResults` (integer, primary, default 100) — Number of listings to return. Use 0 for all.

**Returns:** title, productUrl, listingId, price, originalPrice, favorites, listingReviews, shopName, shopUrl, shopRating, shopReviews, listedOn, image, video, description, variations (16 fields)

### `facebook/ads` — Facebook Ads Library API
See every ad a brand is running in Meta's Ad Library — one row per ad with creative copy, headline, CTA, destination link, dates, how long it's been live, format, platforms, the advertiser's profile, carousel cards, and EU reach where it's disclosed. · **$5/1k ads**

**Example prompts:** "Get the latest 50 ads from Nike" · "200 active ads from Salesforce, HubSpot, and Zendesk"

**Inputs:**
- `urls` (string, required) — Facebook page URL or handle (e.g. facebook.com/nike).
- `maxResults` (integer, primary, default 50) — Number of ads to return in total. Use 0 for all.
- `activeStatus` (string, primary, default "active") — Which ads to return. · options: active, inactive
- `isDetailsPerAd` (boolean, default true) — Pull each ad's advertiser profile and EU transparency block. Keep on for the full record.

**Returns:** adUrl, libraryId, pageUrl, headline, bodyText, linkDescription, ctaText, destinationUrl, format, startDate, endDate, daysActive, isActive, mediaUrl, mediaType, platforms, advertiser, cards, euReach, reachBreakdown, variantCount (21 fields)

### `facebook/comments` — Facebook Comments API
Extract comments and replies from Facebook posts, reels, and photos — text, author, likes, reply count, and thread position — by post URL · **$2.5/1k comment**

**Example prompts:** "Get all comments on this Facebook post URL" · "Extract the full reply tree on a viral announcement post"

**Inputs:**
- `post_url` (string, required) — A Facebook post, reel, or photo permalink to scrape comments from.
- `maxResults` (integer, default 50) — Number of comments to return. Use 0 for all.
- `includeNestedComments` (boolean, default true) — On: also pull replies under each comment (returned as their own rows). Off: top-level comments only.
- `viewOption` (string, default "RANKED_UNFILTERED") — How Facebook orders the comments it returns. · options: RANKED_UNFILTERED, RANKED_THREADED, RECENT_ACTIVITY

**Returns:** postUrl, postId, pageId, commentUrl, commentText, commentDate, likes, replies, replyDepth, isReply, commenter, commenterUrl, commenterId, replyingTo, threadRootAuthor, commentMediaType, commentMediaCaption, commentMediaUrl, commenterPicture, postCaption, replyingToDetails (21 fields)

### `facebook/events` — Facebook Events API
Find Facebook events by keyword search or event URL — one row per event with name, date, venue, host, attendance, and ticket link. · **$10/1k events**

**Example prompts:** "Find 50 concerts in New York this month" · "Pull attendance numbers for music festivals in Austin"

**Inputs:**
- `searchQueries` (string, primary) — A keyword search query to discover events (e.g. Concert New York, tech conference Berlin).
- `startUrls` (string, primary) — A Facebook event, explore, search, or place URL to scrape events from.
- `maxResults` (integer, primary, default 50) — Number of events to return. Use 0 for all.

**Returns:** eventName, eventUrl, eventId, description, startDate, dateTime, duration, frequency, isPast, isCanceled, isOnline, going, interested, host, hosts, venueName, venueUrl, address, street, city, country, latitude, longitude, category, tickets, externalLinks, coverImageUrl, imageCaption, occurrences (29 fields)

### `facebook/followers` — Facebook Followers & Following API
Pull the profiles that follow a Facebook page — or the profiles that page follows — as clean stubs with name, profile URL, profile ID, avatar, and bio. Choose followers, following, or both. · **$5/1k profile**

**Example prompts:** "Get the followers of the Coca-Cola Facebook page" · "Pull the accounts a brand page follows"

**Inputs:**
- `page_urls` (string, required) — Facebook page or profile URL, or vanity handle (e.g. cocacola).
- `followType` (string, primary, default "follower") — Pull the page's followers, the profiles it follows, or both. · options: follower, following
- `limit` (integer, default 50) — Number of profiles to return in total. Use 0 for all.

**Returns:** followerName, profileUrl, profileId, avatarUrl, bio, relationship (6 fields)

### `facebook/groups` — Facebook Groups API
Extract posts from public Facebook groups — post text, author, reactions, comments, shares, attached media, @-mentions, and a sample of top comments — by group URL · **$2/1k posts**

**Example prompts:** "Get the latest 100 posts from this Facebook group URL" · "Pull posts mentioning a brand from three hobby groups"

**Inputs:**
- `groupUrls` (string, required) — Public Facebook group URL to scrape posts from (e.g. https://www.facebook.com/groups/<group>).
- `maxResults` (integer, primary, default 50) — Number of posts to return from the group. Use 0 for all.

**Returns:** postUrl, groupUrl, postedAt, text, author, reactions, likeReactions, loveReactions, wowReactions, comments, shares, linkTitle, linkUrl, media, mentions, topComments (16 fields)

### `facebook/marketplace` — Facebook Marketplace API
Extract Facebook Marketplace listings — title, price, condition, location, attributes, and photos — from any category or search URL. · **$5/1k listings**

**Example prompts:** "Get 100 listings for iPhones in New York and 100 in Los Angeles" · "Find the newest 50 mountain bike listings in Seattle"

**Inputs:**
- `url` (string, required) — A Facebook Marketplace category or search URL. Examples: https://www.facebook.com/marketplace/nyc/electronics or https://www.facebook.com/marketplace/london/search/?query=bicycle
- `maxResults` (integer, primary, default 50) — Number of listings to return in total. Use 0 for all.

**Returns:** listingTitle, listingUrl, description, price, currency, originalPrice, condition, attributes, mileage, location, city, state, postalCode, country, latitude, longitude, deliveryOptions, listedAt, primaryPhoto, photos, videoUrl (21 fields)

### `facebook/pages` — Facebook Pages API
Look up public Facebook pages and get a clean business profile for each — name, category, intro, follower and like counts, contact details (phone, email, website, address), rating, price range, hours, the confirmed owner behind the page, whether it's running ads, and its links to Instagram, X, YouTube, TikTok and more. · **$9.5/1k pages**

**Example prompts:** "Get page info for the top 50 coffee shops in Seattle" · "Get profile details for Nike, Adidas, and Puma"

**Inputs:**
- `pageUrls` (array, required) — A Facebook page to look up — a handle like "nike" or a full URL like https://www.facebook.com/NASA/. Duplicate inputs are removed before the run.

**Returns:** pageName, username, pageUrl, pageId, category, intro, pageCreated, followers, likes, following, talkingAbout, wereHere, phone, email, website, otherWebsites, address, addressMapUrl, recommendPercent, reviewCount, priceRange, businessHours, services, confirmedOwner, runningAds, adLibraryId, profilePictureUrl, coverPhotoUrl, profilePhotoLink, socialLinks, personalProfile (31 fields)

### `facebook/posts` — Facebook Posts API
Extract posts from public Facebook pages — text, author, engagement (reactions, comments, shares, video views), the full reaction-type breakdown, media, links, hashtags, mentions, and collaborators · **$3/1k posts**

**Example prompts:** "Get the last 50 posts from the Nike Facebook page" · "Fetch the latest 100 posts from the Netflix page"

**Inputs:**
- `urls` (string, required) — Public Facebook page URL to scrape posts from (e.g. facebook.com/nike).
- `maxResults` (integer, primary, default 25) — Number of posts to return. Use 0 for all.
- `onlyPostsNewerThan` (date) — Only get posts published on or after this date (YYYY-MM-DD).
- `onlyPostsOlderThan` (date) — Only get posts published on or before this date (YYYY-MM-DD).

**Returns:** postUrl, permalink, postId, postText, postedDate, authorUrl, authorPicture, reactions, comments, topComments, shares, views, videoPostViewCount, videoDuration, likeCount, loveCount, careCount, hahaCount, wowCount, sadCount, angryCount, mediaType, mediaUrl, imageOcr, linkUrl, linkTitle, linkSource, hashtags, mentions, collaborators, sharedPost, feedbackId (32 fields)

### `facebook/reels` — Facebook Reels API
Pull reels from public Facebook pages — play count, publish time, audio track, video and thumbnail links, dimensions, and caption/dubbed languages, with the owning page's identity. No captions text or like/comment counts (this source returns plays as the only engagement number). · **$5/1k reel**

**Example prompts:** "Get the latest 50 reels from a brand's Facebook page" · "Pull the audio tracks across a creator's reels"

**Inputs:**
- `startUrls` (string, required) — Facebook page or profile URL to pull recent reels from.
- `maxReels` (integer, primary, default 20) — Number of reels to return. Use 0 for all.

**Returns:** reelUrl, reelId, page, plays, playsLabel, publishedAt, durationSec, dimensions, videoUrl, thumbnailUrl, audioTitle, audioArtist, audioTrack, audioType, audioTrackId, remixable, audioMuted, captionLanguages, captionsFileUrl, dubbedAudioLanguages, error, errorDescription (22 fields)

### `facebook/reviews` — Facebook Reviews API
Extract Facebook page reviews — the recommend / don't-recommend flag, review text, date, reviewer, likes, tags, and any photos — from one or more Facebook page URLs · **$1.5/1k review**

**Example prompts:** "Pull all reviews for a restaurant's Facebook page" · "Get reviews for 20 store-location pages"

**Inputs:**
- `urls` (string, required) — Facebook page URL to scrape reviews from (e.g. https://www.facebook.com/disneylandparis or its /reviews tab).
- `maxResults` (integer, default 50) — Number of reviews to return in total. Use 0 for all.

**Returns:** recommended, reviewText, reviewDate, reviewUrl, reviewId, reviewerName, reviewerProfileUrl, likes, commentCount, tags, reviewerAvatar, topComments, photos, error, errorDescription (15 fields)

### `flipkart/products` — Flipkart Products API
Extract Flipkart product details — title, price, MRP, discount, ratings, specifications, seller info — from product URLs, with optional per-pincode delivery and pricing · **$1/1k products**

**Example prompts:** "Get details for the Samsung Galaxy F13 Waterfall Blue 64 GB" · "Fetch the iPhone 15, Galaxy S24, and Pixel 8 with all seller offers"

**Inputs:**
- `products` (array, required) — List of Flipkart product URLs to scrape. Use param name 'Products' in confirm widget.
- `pincodes` (array) — Delivery pincodes (6 digits each). Optional — uses default if blank.

**Returns:** productUrl, productId, title, brand, price, mrp, discount, rating, ratingCount, reviewCount, specifications, highlights, description, sellers, pincode, available, deliverable, deliveryDate, returnPolicy, warranty (20 fields)

### `google-maps/places` — Google Maps Places API
Search Google Maps places for address, rating, reviews, contact info, opening hours, and images · **$4/1k places**

**Example prompts:** "Every dentist in Austin, Texas with a phone number and website" · "All coffee shops in Bandra, Mumbai sorted by rating"

**Inputs:**
- `keywords` (string, primary) — What to search for (e.g. 'italian restaurants'). Use this together with Location to discover places. — OR — leave blank and pass specific URLs in the Place URLs field below.
- `location` (string, primary) — Where to search (e.g. 'New York, USA'). One location per run — to search several, run them one at a time. Required for keyword search.
- `urls` (array, primary) — Specific Google Maps place URLs or Place IDs (e.g. ChIJreV9aqYWdkgROM_boL6YbwA). Use this when you already know the places — alternative to Search Terms + Location.
- `maxResults` (integer, primary, default 50) — Number of places to return. Use 0 for all.
- `minimumRating` (string) — Skip places rated below this. Leave empty for no filter. · options: two, twoAndHalf, three, threeAndHalf, four, fourAndHalf
- `websiteFilter` (string, default "allPlaces") — Filter by website presence. Useful for lead generation (find places without a website). · options: allPlaces, withWebsite, withoutWebsite
- `maxImages` (integer, default 0) — Number of images to fetch per place. 0 = none, 999 = all. More images cost more and slow the run.

**Returns:** placeUrl, businessName, placeId, category, allCategories, rating, reviews, 5StarReviews, 4StarReviews, 3StarReviews, 2StarReviews, 1StarReviews, reviewKeywords, priceRange, phone, website, address, neighborhood, city, state, postalCode, country, street, latitude, longitude, plusCode, locatedIn, floor, permanentlyClosed, temporarilyClosed, unclaimed, description, attributes, openingHours, specialHours, popularTimes, liveOccupancyPercent, liveStatus, coverPhoto, photos, photoCount, relatedPlaces, ownerPosts, menuUrl, reserveTableUrl, reservationLinks, hotelType, hotelDescription, similarHotels, hotelAds (50 fields)

### `google-maps/reviews` — Google Maps Reviews API
Extract reviews from Google Maps places — reviewer info, ratings, text, responses — using start URLs and max reviews · **$0.25/1k reviews**

**Example prompts:** "Recent reviews for our 12 store locations" · "Every review for the top 5 hotels in Goa"

**Inputs:**
- `urls` (string, required) — Google Maps place URL to scrape reviews from.
- `maxReviews` (integer, default 100) — Number of reviews to return. Use 0 for all.
- `sortBy` (string, default "newest") — Sort order for reviews. · options: newest, mostRelevant, highestRanking, lowestRanking

**Returns:** placeUrl, reviewUrl, reviewText, stars, postedAt, reviewer, reviewerUrl, reviewerPhoto, reviewerTotalReviews, localGuide, reviewLikes, originalLanguage, translatedLanguage, translatedText, ownerResponse, ownerResponseDate, reviewContext, businessName, category, allCategories, businessRating, businessReviews, businessPhoto, latitude, longitude, businessAddress, country, language, permanentlyClosed, temporarilyClosed, placeId (31 fields)

### `google/images` — Google Images API
Extract Google Images details — URL, source, description, dimensions, and thumbnail — by providing a query and image count · **$1/1k results**

**Example prompts:** "Find images for Nike shoes" · "Get images of Tesla Model 3 from the last year"

**Inputs:**
- `queries` (string, required) — Image search query to run on Google Images.
- `maxResults` (integer, primary, default 0) — Number of images to return. Use 0 for all (the full first page, ~300).

**Returns:** title, imageUrl, sourcePageUrl, sourceDomain, imageWidth, imageHeight, orientation, megapixels, imageType, thumbnailUrl (10 fields)

### `google/news` — Google News API
Get Google News articles for any search query — headline, publisher, published date, link, and thumbnail — with region/language and date-range filters · **$1/1k news**

**Example prompts:** "Get the 50 most recent news articles about OpenAI" · "Fetch the latest news for Ford, General Motors, and Rivian"

**Inputs:**
- `query` (string, required) — What to search for in Google News.
- `maxResults` (integer, primary, default 100) — Number of news articles to return. Use 0 for all.
- `timeframe` (string, primary, default "7d") — How far back to look. Leave blank for no limit. · options: 1h, 1d, 7d, 1y, all
- `region_language` (string, default "US:en") — Country market and article language — the two go together (Google News only supports these specific combinations). Defaults to US English. · options (first 25 of 84 — fetch all via `GET /v1/data/google/news?expand=options`): US:en, GB:en, AU:en, CA:en, IN:en, IE:en, NZ:en, SG:en, ZA:en, PH:en, MY:en, PK:en, NG:en, KE:en, GH:en, IL:en, BW:en, ET:en, LV:en, NA:en, TZ:en, UG:en, ZW:en, ID:en, ID:id, …

**Returns:** title, source, articleUrl, publishedAt, publishedTimestamp, imageUrl (6 fields)

### `google/play/reviews` — Google Play Reviews API
Extract Google Play reviews, including reviewer name, rating, publish date, and full text · **$0.1/1k reviews**

**Example prompts:** "Get the latest 500 reviews for TikTok and Instagram" · "Pull 100 reviews for WhatsApp mentioning dark mode"

**Inputs:**
- `inputs` (string, required) — A Google Play app URL or package ID (e.g. org.telegram.messenger) to scrape reviews from.
- `maxResults` (integer, primary, default 100) — Number of reviews to return. Use 0 for all.
- `country` (string, default "US") — Country's Google Play store to pull reviews from. · options (first 25 of 53 — fetch all via `GET /v1/data/google/play/reviews?expand=options`): US, GB, CA, AU, NZ, DE, FR, ES, IT, NL, BE, CH, AT, SE, NO, DK, FI, IE, PT, PL, CZ, GR, HU, RO, TR, …
- `language` (string, default "en") — Language to pull reviews in. · options (first 25 of 54 — fetch all via `GET /v1/data/google/play/reviews?expand=options`): en, en-US, en-GB, es, es-ES, es-419, fr, fr-FR, fr-CA, de, it, pt, pt-BR, pt-PT, nl, pl, cs, sk, hr, sr, sl, ro, hu, bg, el, …
- `sortBy` (string, default "NEWEST") — Sort order for reviews. · options: NEWEST, RATING, HELPFULNESS

**Returns:** reviewer, rating, reviewText, posted, appVersion, helpfulVotes, appUrl, reviewUrl, developerReply, replyDate, reviewerPhoto, subratings (12 fields)

### `google/search` — Google Search API
Scrape Google Search results — organic links, snippets, titles — with country/language filters and search operators · **$1/1k pages**

**Example prompts:** "Search for openai to see their top 10 organic results" · "Top 50 results for best mechanical keyboards"

**Inputs:**
- `queries` (string, required) — A Google search query or full search URL. Supports operators like site:, OR, intitle:, etc.
- `maxPages` (integer, primary, default 1) — Number of Google result pages to scrape (~10 organic results per page). Use 0 for all. Google itself returns at most ~10 pages (~100 results) per query — higher values won't return more.
- `startDate` (date) — Earliest result date. Leave blank for no lower bound.
- `endDate` (date) — Latest result date. Leave blank for no upper bound.
- `country` (string) — Country to search from (uses google.<tld> domain). Defaults to US (google.com). · options (first 25 of 240 — fetch all via `GET /v1/data/google/search?expand=options`): af, al, dz, as, ad, ao, ai, aq, ag, ar, am, aw, au, at, az, bs, bh, bd, bb, by, be, bz, bj, bm, bt, …
- `searchLanguage` (string) — Language of search results (e.g. only German pages). · options (first 25 of 35 — fetch all via `GET /v1/data/google/search?expand=options`): ar, bg, ca, cs, da, de, el, en, es, et, fi, fr, hr, hu, id, is, it, iw, ja, ko, lt, lv, nl, no, pl, …
- `site` (string) — Limit to a specific site (e.g. example.com).
- `relatedToSite` (string) — Find pages related to a specific site (e.g. example.com). Ignored if Site Filter is set.
- `fileTypes` (array) — Filter to specific file types (e.g. pdf, doc).

**Returns:** rank, title, link, domain, source, snippet, publishedDate, aiAnswer, aiAnswerSources, relatedSearches, relatedQuestions (11 fields)

### `google/shopping` — Google Shopping API
Extract Google Shopping product listings and details by keyword, country, language, count, and date range · **$3/1k results**

**Example prompts:** "Get the latest listings for the PlayStation 5 in the US" · "Compare prices for iPhone 15, Samsung Galaxy S24, and Google Pixel 8"

**Inputs:**
- `queries` (string, required) — Google Shopping search query to run.
- `maxResults` (integer, primary, default 50) — Number of products to return. Use 0 for all.
- `dateRange` (string, default "anytime") — Limit results to recently-listed products. · options: anytime, qdr:h, qdr:d, qdr:w, qdr:m
- `country` (string, default "us") — Country to search Google Shopping from. · options (first 25 of 58 — fetch all via `GET /v1/data/google/shopping?expand=options`): us, gb, ca, au, nz, in, sg, jp, kr, hk, tw, cn, th, id, my, ph, vn, pk, bd, lk, de, fr, es, it, nl, …
- `language` (string, default "en") — Language for results. · options (first 25 of 32 — fetch all via `GET /v1/data/google/shopping?expand=options`): en, es, fr, de, it, pt, nl, sv, no, da, fi, tr, ru, uk, cs, el, hu, ro, bg, he, ar, hi, bn, ta, te, …

**Returns:** title, merchant, price, priceValue, rating, reviewCount, position, productId, image, productUrl (10 fields)

### `indeed/jobs` — Indeed Jobs API
Extract Indeed job listings — title, company, salary, location, skills, hiring-demand signals, and apply links — by keyword + location, or by specific Indeed job ID · **$0.05/1k jobs**

**Example prompts:** "Get 20 warehouse associate jobs in Houston, TX" · "Find nurse practitioner roles in Dallas, Houston, and Austin"

**Inputs:**
- `keyword` (string, primary) — Job title or search keywords (e.g. "warehouse associate").
- `location` (string, primary) — City, state, or region (e.g. "Houston, TX").
- `country` (string, primary, default "US") — Indeed country domain to search. (United Kingdom may be unreliable upstream.) · options (first 25 of 54 — fetch all via `GET /v1/data/indeed/jobs?expand=options`): US, UK, CA, AU, IN, DE, FR, JP, BR, MX, IT, ES, NL, BE, CH, AT, SG, HK, IE, NZ, AR, BH, CL, CN, CO, …
- `remote` (string) — Set to "remote" to return only remote roles.
- `jobType` (string) — Filter by employment type (e.g. "fulltime", "parttime", "contract").
- `fromDays` (integer) — Only return jobs posted within this many days (e.g. 7).
- `sort` (string) — Result ordering (e.g. "date" for most recent first).
- `jobKeys` (array, primary) — Specific Indeed job IDs to look up directly.
- `maxItems` (integer, default 50) — Number of job listings to return. Use 0 for all.

**Returns:** jobId, jobUrl, applyUrl, jobTitle, normalizedTitle, companyName, companyKey, company, city, state, country, postalCode, streetAddress, fullAddress, latitude, longitude, salaryMin, salaryMax, salaryCurrency, salaryPeriod, workplaceType, employmentType, workSetting, educationLevel, experienceLevel, certifications, physicalRequirements, skills, occupation, occupationCategories, applyStarts, numberOfHires, employerResponsive, employerResponseRate, employerAvgResponseTimeDays, urgentHire, highVolumeHiring, sponsored, posted, jobDescription, benefits, sourceType, sourceName, language, shift, travel, salaryText, eligibility (48 fields)

### `instagram/comments` — Instagram Comments API
Extract top Instagram comments — text, timestamps, likes, commenter details, and thread sizes — from post or reel URLs · **$0.5/1k comments**

**Example prompts:** "Get the latest 500 comments from the recent Nike post about their new running shoes" · "Fetch 200 comments each from the latest posts by Selena Gomez and Taylor Swift"

**Inputs:**
- `urls` (string, required) — Instagram post or reel URL to get comments from. E.g. https://www.instagram.com/p/ABC123/ or https://www.instagram.com/reel/XYZ789/.
- `maxResults` (integer, default 100) — Total number of top-level comments to return. Replies inside threads are not returned; the Comment Replies column counts them. Use 0 for all. Capped at 10,000 per post.

**Returns:** postUrl, comment, commentUrl, commentedAt, likes, commentReplies, commenterId, commenterUsername, commenterName, commenterUrl, commenterVerified, commenterPrivate (12 fields)

### `instagram/followers` — Instagram Followers & Following API
Extract the followers or following list of any public Instagram account — handle, name, verification, and privacy · **$0.75/1k profiles**

**Inputs:**
- `usernames` (string, required) — An Instagram username (e.g. natgeo) or full profile URL (e.g. https://www.instagram.com/natgeo/) whose followers or following list you want to pull.
- `dataToScrape` (string, default "Followers") — Whether to fetch the account's followers or the accounts it follows. · options: Followers, Followings
- `maxResults` (integer, default 50) — Number of profiles to return (25–500,000). Use 0 for all.

**Returns:** username, profileUrl, instagramUserId, fullName, verified, private, profilePicture, sourceAccount (8 fields)

### `instagram/posts` — Instagram Posts & Reels API
Extract Instagram posts and reels — captions, engagement, media, music, and authors — by profile (posts / reels / tagged tabs), post URL, hashtag, or keyword search · **$2/1k posts**

**Example prompts:** "Get the 20 most recent posts from nasa" · "Fetch the latest posts from lego, playmobil, and mattel"

**Inputs:**
- `handles` (string, primary) — Instagram username (e.g. natgeo) or profile URL to pull posts from.
- `tab` (string, primary, default "posts") — Which profile tab to pull: the posts grid (photos + videos), the Reels tab, or posts the profile is tagged in. · options: posts, reels, tagged
- `postUrls` (array, primary) — Instagram post or reel URLs, one per line — returns the full record for each.
- `hashtags` (string, primary) — Hashtag to pull recent posts from, without the # (e.g. travel).
- `query` (string, primary) — Search keyword — returns matching Reels from Instagram search.
- `maxPages` (integer, default 3) — Keyword-search result pages to fetch (~10–12 reels per page, capped at 8).
- `maxResults` (integer, default 20) — Number of posts to return in total. Use 0 for all.
- `onlyPostsNewerThan` (date) — Only get posts newer than this date (YYYY-MM-DD). Pinned posts may appear even if older.

**Returns:** postUrl, caption, type, contentFormat, posted, source, authorUsername, authorName, authorProfileUrl, authorVerified, authorId, likes, likesHidden, comments, plays, views, shares, image, videoUrl, carouselImages, carouselSlideMediaUrls, durationS, hashtags, mentions, firstComment, recentComments, captionLanguage, locationName, paidPartnership, pinned, song, artist, originalAudio, taggedUsers, coauthors (35 fields)

### `instagram/profiles` — Instagram Profiles API
Extract Instagram account data — bio, followers, verification, business info, links, and recent posts — by username or keyword search · **$1.5/1k profiles**

**Example prompts:** "Get profile data for mrbeast, khaby00, and addisonre" · "Pull the profiles for starbucks and starbucksuk"

**Inputs:**
- `usernames` (array, primary) — Instagram usernames (e.g. natgeo, shopify) or full profile URLs (e.g. https://www.instagram.com/natgeo/) to look up.
- `query` (string, primary) — Keyword to search Instagram accounts by (e.g. coffee, nasa).
- `maxResults` (integer, default 10) — Number of profiles to return. Use 0 for all. Capped at 250.

**Returns:** profileUrl, instagramId, username, fullName, bio, followers, following, posts, verified, private, businessAccount, businessCategory, businessStreet, businessCity, businessZip, businessLatitude, businessLongitude, businessCityId, bioLinks, profilePicture, highlightReels, lastPostDate, recentPosts, relatedAccounts, facebookPage (25 fields)

### `instamart/category` — Instamart Category API
Extract Instamart category page listings — products, prices, stock, ratings — from category URLs · **$1/1k products**

**Example prompts:** "Get all products from the Beverages category for store 1313712" · "Extract listings from the Snacks and Biscuits categories for the Indiranagar store"

**Inputs:**
- `category` (string, required) — Top-level category (e.g. Cold Drinks & Juices). · options (first 25 of 44 — fetch all via `GET /v1/data/instamart/category?expand=options`): Appliances, Atta, Rice and Dal, Baby Care, Bath and Body, Biscuits and Cakes, Books and Stationery, Cereals and Breakfast, Chips and Namkeens, Chocolates, Cleaning Essentials, Clothing, Cold Drinks and Juices, Dairy, Bread and Eggs, Dry Fruits and Seeds Mix, Electronics and Appliances, Feminine Hygiene, Fragrances, Fresh Fruits, Fresh Vegetables, Frozen Food, Grooming, Hair Care, Health and Pharma, Home and Furnishing, Ice Creams and Frozen Desserts, …
- `sub_category` (string, required) — Sub-category within it (e.g. Soft Drinks). · options (first 25 of 593 — fetch all via `GET /v1/data/instamart/category?expand=options`): Air Fryers, Blenders & Frothers, Camera & Networking Devices, Choppers & Egg Boilers, Electric Kettles, Fans, Heaters, Geysers, Immersion Rods, Induction Cooktops, Irons & Steamers, Juicer Mixer Grinders, Newly Added, Others, Toasters & Coffee Makers, Vacuum Cleaners, Atta, Basmati Rice, Besan, Sooji and Maida, Limited Time Deal, Millets & Daliya, Newly Added, Other Flours, Poha & Puffed Rice, Premium Brands, Rajma, Chola and Others, Ready to Cook Flour Mix, …
- `store_id` (string, primary) — Dark store — pick a city and pincode first. · options (first 25 of 1206 — fetch all via `GET /v1/data/instamart/category?expand=options`): 1386719, 1261842, 1383851, 1403207, 1404594, 1402776, 1381835, 816651, 1325203, 1229997, 1382494, 1400924, 1404584, 1404841, 406774, 1399700, 1400548, 1062420, 1099457, 1389690, 1404675, 1387704, 1381357, 1383383, 1386535, …
- `lat` (number) — Or target by coordinates — latitude (use with longitude).
- `lon` (number) — Or target by coordinates — longitude (use with latitude).
- `city` (string) — City — filters the pincode and store lists. · options (first 25 of 145 — fetch all via `GET /v1/data/instamart/category?expand=options`): New Delhi, Faridabad, Gurugram, Rohtak, Sonipat, Karnal, Panipat, Ambala, Panchkula, Kurukshetra, Sas Nagar, Ludhiana, Amritsar, Jalandhar, Patiala, Bathinda, Chandigarh, Ghaziabad, Noida, Greater Noida, Aligarh, Kanpur, Prayagraj, Varanasi, Lucknow, …
- `pincode` (string) — Pincode — pick a city first; filters the store list. · options (first 25 of 820 — fetch all via `GET /v1/data/instamart/category?expand=options`): 110002, 110003, 110005, 110007, 110008, 110009, 110012, 110014, 110015, 110016, 110017, 110018, 110019, 110025, 110026, 110027, 110032, 110033, 110034, 110035, 110037, 110041, 110042, 110044, 110048, …
- `maxResults` (integer, default 0) — How many products to return for the category. Use 0 for all.

**Returns:** productName, brand, variantId, productId, price, mrp, discount, packSize, inStock, stockCount, rating, ratingCount, category, rank, sponsored, images, productUrl, description, countryOfOrigin, manufacturer, seller, specifications, storeId, latitude, longitude (25 fields)

### `instamart/products` — Instamart Products API
Extract Instamart product details — MRP, selling price, stock — from product URLs · **$1/1k products**

**Example prompts:** "Get the current price and stock for Amul Gold Milk and Britannia Bread" · "Fetch details for a Coca-Cola 500ml product URL in the Bangalore region"

**Inputs:**
- `url` (string, required) — Product page URL to scrape.
- `store_id` (string, primary) — Dark store — pick a city and pincode first. · options (first 25 of 1206 — fetch all via `GET /v1/data/instamart/products?expand=options`): 1386719, 1261842, 1383851, 1403207, 1404594, 1402776, 1381835, 816651, 1325203, 1229997, 1382494, 1400924, 1404584, 1404841, 406774, 1399700, 1400548, 1062420, 1099457, 1389690, 1404675, 1387704, 1381357, 1383383, 1386535, …
- `lat` (number) — Or target by coordinates — latitude (use with longitude).
- `lon` (number) — Or target by coordinates — longitude (use with latitude).
- `city` (string) — City — filters the pincode and store lists. · options (first 25 of 145 — fetch all via `GET /v1/data/instamart/products?expand=options`): New Delhi, Faridabad, Gurugram, Rohtak, Sonipat, Karnal, Panipat, Ambala, Panchkula, Kurukshetra, Sas Nagar, Ludhiana, Amritsar, Jalandhar, Patiala, Bathinda, Chandigarh, Ghaziabad, Noida, Greater Noida, Aligarh, Kanpur, Prayagraj, Varanasi, Lucknow, …
- `pincode` (string) — Pincode — pick a city first; filters the store list. · options (first 25 of 820 — fetch all via `GET /v1/data/instamart/products?expand=options`): 110002, 110003, 110005, 110007, 110008, 110009, 110012, 110014, 110015, 110016, 110017, 110018, 110019, 110025, 110026, 110027, 110032, 110033, 110034, 110035, 110037, 110041, 110042, 110044, 110048, …

**Returns:** productName, brand, variantId, productId, price, mrp, discount, packSize, inStock, stockCount, rating, ratingCount, category, rank, sponsored, images, productUrl, description, countryOfOrigin, manufacturer, seller, specifications, storeId, latitude, longitude (25 fields)

### `instamart/search` — Instamart Search API
Search Instamart by query — listings, prices, stock, ratings, images · **$1/1k products**

**Example prompts:** "Search for Amul Butter in store 1313712" · "Get results for Dove Shampoo and Pears Soap in store 122334"

**Inputs:**
- `query` (string, required) — What to search for (e.g. milk, chocolate).
- `store_id` (string, primary) — Dark store — pick a city and pincode first. · options (first 25 of 1206 — fetch all via `GET /v1/data/instamart/search?expand=options`): 1386719, 1261842, 1383851, 1403207, 1404594, 1402776, 1381835, 816651, 1325203, 1229997, 1382494, 1400924, 1404584, 1404841, 406774, 1399700, 1400548, 1062420, 1099457, 1389690, 1404675, 1387704, 1381357, 1383383, 1386535, …
- `lat` (number) — Or target by coordinates — latitude (use with longitude).
- `lon` (number) — Or target by coordinates — longitude (use with latitude).
- `city` (string) — City — filters the pincode and store lists. · options (first 25 of 145 — fetch all via `GET /v1/data/instamart/search?expand=options`): New Delhi, Faridabad, Gurugram, Rohtak, Sonipat, Karnal, Panipat, Ambala, Panchkula, Kurukshetra, Sas Nagar, Ludhiana, Amritsar, Jalandhar, Patiala, Bathinda, Chandigarh, Ghaziabad, Noida, Greater Noida, Aligarh, Kanpur, Prayagraj, Varanasi, Lucknow, …
- `pincode` (string) — Pincode — pick a city first; filters the store list. · options (first 25 of 820 — fetch all via `GET /v1/data/instamart/search?expand=options`): 110002, 110003, 110005, 110007, 110008, 110009, 110012, 110014, 110015, 110016, 110017, 110018, 110019, 110025, 110026, 110027, 110032, 110033, 110034, 110035, 110037, 110041, 110042, 110044, 110048, …
- `maxResults` (integer, default 0) — How many products to return for the search. Use 0 for all.

**Returns:** productName, brand, variantId, productId, price, mrp, discount, packSize, inStock, stockCount, rating, ratingCount, category, rank, sponsored, images, productUrl, description, countryOfOrigin, manufacturer, seller, specifications, storeId, latitude, longitude (25 fields)

### `linkedin/ads-library` — LinkedIn Ads API
Extract LinkedIn ad details, ad copy, media URL, and call-to-action buttons from Ad Library URLs · **$2/1k ads**

**Example prompts:** "Get the latest 50 ads from nvidia" · "200 active ads from salesforce, atlassian, and datadog"

**Inputs:**
- `urls` (string, required) — LinkedIn Ad Library URL (or company URL).
- `maxResults` (integer, primary, default 50) — Number of ads to return. Use 0 for all.

**Returns:** adUrl, adId, advertiserUrl, paidBy, format, headline, body, clickUrl, started, ended, daysActive, impressions, impressionsByCountry, targetingLocation, mediaUrl, mediaType (16 fields)

### `linkedin/companies` — LinkedIn Companies API
Get LinkedIn company data — by company URL, or by searching with filters (location, size, industry). Returns the full company profile either way. · **$4/1k companies**

**Example prompts:** "Extract company info for stripe" · "Get company details for openai, anthropic, and mistral ai"

**Inputs:**
- `companies` (array, primary) — LinkedIn company URLs to fetch. One per line.
- `query` (string, primary) — Keywords to find LinkedIn companies (e.g. 'fintech startup').
- `locations` (array, primary) — Filter to companies in these locations (e.g. 'San Francisco'). One per line.
- `companySize` (array) — Filter to companies in this employee-count band. · options: 1-10, 11-50, 51-200, 201-500, 501-1000, 1001-5000, 5001-10000, 10001+
- `industries` (array) — Filter to companies in this industry. · options (first 25 of 434 — fetch all via `GET /v1/data/linkedin/companies?expand=options`): 2190, 34, 2217, 2212, 2214, 32, 31, 2197, 2194, 1912, 1938, 110, 122, 1965, 2934, 101, 1916, 121, 1956, 1958, 104, 1923, 1925, 1931, 108, …
- `maxResults` (integer, primary, default 50) — Max companies to return (up to 1,000). Ignored when company URLs are passed.

**Returns:** linkedinUrl, companyId, companySlug, logo, companyName, tagline, description, website, ctaUrl, foundedYear, employeeCount, employeeCountRange, followers, industry, industryCategory, hqStreet, hqCity, hqState, hqCountry, hqPostalCode, locations, specialities, activeStatus, pageType, jobsUrl, employeesByLocation, verified (27 fields)

### `linkedin/company-employees` — LinkedIn Company Employees API
List LinkedIn company employees — name, role, location, seniority — from a list of company URLs · **$4/1k profiles**

**Example prompts:** "Get 100 employees from OpenAI" · "List employees from Stripe and Adyen"

**Inputs:**
- `companies` (string, required) — LinkedIn company URL (e.g. https://www.linkedin.com/company/google).
- `maxResults` (integer, primary, default 100) — Number of employee profiles to return. Use 0 for all.
- `locations` (array) — Filter by location (e.g. San Francisco, London). One per line.
- `jobTitles` (array) — Filter by current job title (e.g. Software Engineer, Product Manager). One per line.
- `yearsAtCompany` (array) — Filter to employees in this tenure band. · options: 1, 2, 3, 4, 5
- `yearsOfExperience` (array) — Filter to employees in this experience band. · options: 1, 2, 3, 4, 5
- `companyHeadcount` (array) — Filter to companies in this employee-count band. · options: 1, 2-10, 11-50, 51-200, 201-500, 501-1000, 1001-5000, 5001-10000, 10001+
- `recentlyChangedJobs` (boolean) — Set to true to only get people who have recently changed jobs.
- `pastJobTitles` (array) — Filter by past job title text (e.g. 'engineer'). One per line.
- `seniorityLevels` (array) — Filter to employees at this seniority level. · options: 100, 110, 120, 130, 200, 210, 220, 300, 310, 320
- `functions` (array) — Filter to employees in this job function. · options (first 25 of 26 — fetch all via `GET /v1/data/linkedin/company-employees?expand=options`): 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15, 16, 17, 18, 19, 20, 21, 22, 23, 24, 25, …
- `industries` (array) — Filter to employees in this industry. · options (first 25 of 434 — fetch all via `GET /v1/data/linkedin/company-employees?expand=options`): 2190, 34, 2217, 2212, 2214, 32, 31, 2197, 2194, 1912, 1938, 110, 122, 1965, 2934, 101, 1916, 121, 1956, 1958, 104, 1923, 1925, 1931, 108, …

**Returns:** profileUrl, profileId, handle, firstName, lastName, headline, about, photo, coverPhoto, city, state, country, followers, connections, verified, premium, influencer, openToWork, hiring, experience, education, certifications, projects, courses, publications, volunteering, receivedRecommendations, skills, patents, honorsAndAwards, languages, causes (32 fields)

### `linkedin/jobs` — LinkedIn Jobs API
Extract LinkedIn job postings — title, company, location, description, salary, and full company profile — by searching with job titles, location, and filters · **$1/1k jobs**

**Example prompts:** "Find 100 Data Scientist jobs in New York" · "100 open engineering roles at Microsoft, Google, and Meta"

**Inputs:**
- `jobTitles` (string, required) — Job title to search for (e.g. 'product manager').
- `maxResults` (integer, primary, default 50) — Jobs to return. Use 0 for all.
- `locations` (string, primary) — Filter to jobs in this location.
- `company` (array, primary) — Filter to jobs at these companies (e.g. Google, Stripe). One per line.
- `workplaceType` (array) — Filter by where the work happens. · options: remote, hybrid, office
- `employmentType` (array) — Filter by employment type. · options: full-time, part-time, contract, internship, temporary
- `experienceLevel` (array) — Filter by required experience level. · options: internship, entry, associate, mid-senior, director, executive
- `salary` (array) — Only jobs paying at least this much (USD). · options: 40k+, 60k+, 80k+, 100k+, 120k+, 140k+, 160k+, 180k+, 200k+
- `postedLimit` (string) — Only jobs posted within this time window. · options: 1h, 24h, week, month
- `sortBy` (string) — Sort order for results. · options: relevance, date
- `industryIds` (array) — Filter by industry. · options (first 25 of 434 — fetch all via `GET /v1/data/linkedin/jobs?expand=options`): 2190, 34, 2217, 2212, 2214, 32, 31, 2197, 2194, 1912, 1938, 110, 122, 1965, 2934, 101, 1916, 121, 1956, 1958, 104, 1923, 1925, 1931, 108, …
- `easyApply` (boolean) — Only jobs you can apply to with one click on LinkedIn.
- `under10Applicants` (boolean) — Only low-competition jobs (<10 applicants so far).

**Returns:** jobUrl, jobId, jobTitle, description, employmentType, workplaceType, remoteAllowed, experienceLevel, applicants, posted, expires, applyUrl, easyApply, industries, salaryMin, salaryMax, salaryCurrency, salaryPeriod, ats, benefits, recruiterName, recruiterUrl, city, state, country, companyName, companyId, companySlug, companyUrl, companyLogo, companyWebsite, companyEmployees, companyFollowers (33 fields)

### `linkedin/post-comments` — LinkedIn Post Comments API
Extract LinkedIn post comments and replies, including likes and reactions, from a list of post URLs · **$2/1k comments**

**Example prompts:** "Get the latest 500 comments from Satya Nadella's post about AI agents" · "200 comments from the latest Salesforce, HubSpot, and Pipedrive posts"

**Inputs:**
- `posts` (string, required) — LinkedIn post URL to scrape comments from.
- `maxResults` (integer, primary, default 100) — Number of comments to return. Use 0 for all.
- `postedLimit` (string, primary) — Only comments within this time window. · options: any, 24h, week, month
- `includeReplies` (boolean) — Also fetch replies to each top-level comment.

**Returns:** commenterName, commenterHeadline, commenterUrl, commenterProfileId, commenterHandle, commenterPhoto, commenterType, commenterFollowers, isAuthor, comment, commentUrl, commentedAt, commentReactions, commentId, mentions, postUrl (16 fields)

### `linkedin/post-reactions` — LinkedIn Post Reactions API
Extract reactions from LinkedIn posts and comments, providing likes and appreciations · **$2/1k reactions**

**Example prompts:** "Get the first 500 reactions from Satya Nadella's latest post about AI" · "200 reactions from the most recent posts by Snowflake, Databricks, and Teradata"

**Inputs:**
- `posts` (string, required) — LinkedIn post URL to scrape reactions from.
- `maxResults` (integer, primary, default 100) — Number of reactions to return. Use 0 for all.
- `reactionTypeFilter` (array) — Filter to specific reaction types. Leave empty for all. · options: LIKE, PRAISE, EMPATHY, APPRECIATION, INTEREST, ENTERTAINMENT

**Returns:** reactorName, reactorUrl, reactorProfileId, reactorHandle, reactorHeadline, reactorPhoto, reactorLocation, reactionType, postUrl, postUrn (10 fields)

### `linkedin/posts` — LinkedIn Posts API
Get LinkedIn posts — from any profile, company, post, or feed URL, or by searching with author / mention / content-type filters. Returns the same clean post record either way. · **$2/1k posts**

**Example prompts:** "Get the latest 50 posts from the Google company page" · "Find recent posts about 'AI agents' mentioning OpenAI"

**Inputs:**
- `urls` (string, primary) — LinkedIn URL to scrape posts from — profile, company, post, or feed links.
- `queries` (string, primary) — Keyword to search LinkedIn posts for.
- `maxResults` (integer, primary, default 50) — Posts to return. Use 0 for all.
- `postedLimit` (string, primary, default "any") — Only posts within this time window. · options: any, 1h, 24h, week, month, 3months, 6months, year
- `includeQuotePosts` (boolean) — Quote posts (shared with commentary).
- `includeReposts` (boolean, default true) — Reposts (shared without commentary).
- `sortBy` (string) — Sort order for results. · options: relevance, date
- `authors` (array) — Filter posts to specific authors. Accepts profile URLs or company names ('Google').
- `mentioning` (array) — Filter posts that mention specific people or companies. Accepts profile URLs or names.
- `contentType` (string) — Filter to a specific media type. · options: all, videos, images, jobs, live_videos, documents, collaborative_articles

**Returns:** postUrl, postId, postText, authorName, authorUrl, authorProfileId, authorHandle, authorAvatar, authorType, authorHeadline, authorFollowers, reactions, comments, shares, postedDate, repostNote, articleUrl, postMediaUrl, postMediaType, mentions (20 fields)

### `linkedin/profile-comments` — LinkedIn Profile Comments API
Extract LinkedIn profile comments and their social activities like likes and reactions, requiring no input · **$2/1k comments**

**Example prompts:** "Get the latest 50 comments from Satya Nadella" · "Fetch the most recent comments from Reid Hoffman and Bill Gates"

**Inputs:**
- `profiles` (string, required) — LinkedIn profile URL to scrape comments from.
- `maxResults` (integer, primary, default 50) — Number of comments to return. Use 0 for all.
- `postedLimit` (string, primary) — Only comments within this time window. · options: any, 24h, week, month

**Returns:** comment, commentUrl, commentId, commentedAt, edited, isReply, mentions, commentReactions, commentReplies, commenterUrl, onOwnPost, postUrl, postId, postText, postAuthor, postAuthorUrl, postAuthorProfileId, postAuthorHandle, postAuthorType, postAuthorHeadline, postDate, postMediaUrl, postMediaType, postReactions, postComments, postShares (26 fields)

### `linkedin/profile-reactions` — LinkedIn Profile Reactions API
Monitor public LinkedIn profiles for reactions, along with full post details and social activities · **$2/1k reactions**

**Example prompts:** "Get the latest 50 reactions from Satya Nadella's LinkedIn profile" · "Pull reactions for Reid Hoffman, Marc Benioff, and Brian Chesky"

**Inputs:**
- `profiles` (string, required) — LinkedIn profile URL to scrape reactions from.
- `maxResults` (integer, primary, default 50) — Number of reactions to return. Use 0 for all.
- `postedLimit` (string, primary) — Only reactions within this time window. · options: any, 24h, week, month

**Returns:** reaction, reactorUrl, reactorProfileId, reactedAt, postUrl, postId, postText, postAuthor, postAuthorUrl, postAuthorProfileId, postAuthorHandle, postAuthorType, postAuthorHeadline, postDate, postMediaUrl, postMediaType, postReactions, postComments, postShares (19 fields)

### `linkedin/profiles` — LinkedIn Profiles API
Get complete LinkedIn profiles from profile URLs — headline, about, full work experience, education, skills, certifications, and more. No LinkedIn login required. To find people by keyword and filters first, use the LinkedIn Profiles Search agent, then feed its URLs here. · **$4/1k profiles**

**Example prompts:** "Full profiles for these 200 LinkedIn URLs" · "Series B fintech CEOs in London"

**Inputs:**
- `queries` (array, required) — LinkedIn profile URLs to fetch full details for. One per line.

**Returns:** profileUrl, handle, profileId, firstName, lastName, headline, about, photo, coverPhoto, city, state, country, followers, connections, verified, premium, influencer, openToWork, hiring, creator, experience, education, certifications, projects, courses, publications, volunteering, receivedRecommendations, skills, patents, honorsAndAwards, languages, causes (33 fields)

### `linkedin/profiles-search` — LinkedIn Profiles Search API
Find people on LinkedIn by keyword plus rich filters (title, company, school, seniority, industry, location, and more). Each match gives a person's name, headline, location, photo, and profile URL, grouped by search page — every search page holds up to 25 profiles. Feed the profile URLs into LinkedIn Profiles to get full details. · **$100/1k search pages**

**Inputs:**
- `searchQuery` (string, primary) — Keyword full-text search only — a single domain/role keyword (e.g. 'fintech', 'founder', 'product manager'). Do NOT include years, school names, company names, or job titles here — use the structured filters for those.
- `maxResults` (integer, primary) — How many search pages to pull. Each page holds up to 25 profiles and is billed as one result — even if the page comes back with fewer than 25 (or zero) profiles. Leave blank for ALL available pages (a broad query can have up to 100 pages, the maximum).
- `locations` (array, primary) — Filter to profiles in these locations (e.g. 'San Francisco', 'London'). One per line.
- `seniorityLevel` (array) — Filter to profiles at this seniority level. · options: 100, 110, 120, 130, 200, 210, 220, 300, 310, 320
- `function` (array) — Filter to profiles in this job function. · options (first 25 of 26 — fetch all via `GET /v1/data/linkedin/profiles-search?expand=options`): 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15, 16, 17, 18, 19, 20, 21, 22, 23, 24, 25, …
- `industry` (array) — Filter to profiles in this industry. · options (first 25 of 434 — fetch all via `GET /v1/data/linkedin/profiles-search?expand=options`): 2190, 34, 2217, 2212, 2214, 32, 31, 2197, 2194, 1912, 1938, 110, 122, 1965, 2934, 101, 1916, 121, 1956, 1958, 104, 1923, 1925, 1931, 108, …
- `yearsOfExperience` (array) — Filter by total career experience. Also the proxy for graduation year: '1' = <1y (just graduated), '2' = 1-2y, '3' = 3-5y, '4' = 6-10y, '5' = >10y. · options: 1, 2, 3, 4, 5
- `yearsAtCompany` (array) — Filter to profiles with this tenure at their current company. · options: 1, 2, 3, 4, 5
- `companyHeadcount` (array) — Filter to profiles working at companies of this size. · options: A, B, C, D, E, F, G, H, I
- `currentCompanies` (array) — Filter to profiles currently at these companies (e.g. Google, Stripe). One per line.
- `pastCompanies` (array) — Filter to profiles who previously worked at these companies. One per line.
- `currentJobTitles` (array) — Filter by current job title text (e.g. 'product manager'). One per line.
- `pastJobTitles` (array) — Filter by past job title text. One per line.
- `schools` (array) — Filter to alumni of these schools (e.g. Stanford, MIT). One per line.
- `names` (array) — Filter to profiles by name. One per line — full name ("Sam Altman") or first/last only ("Sam").
- `companyHQLocations` (array) — Filter to profiles whose company is headquartered in these locations. One per line.
- `profileLanguages` (array) — Filter to profiles in these languages (e.g. English, Spanish). One per line.
- `recentlyChangedJobs` (boolean) — Only profiles who recently changed jobs.
- `recentlyPostedOnLinkedIn` (boolean) — Only profiles who posted on LinkedIn recently.

**Returns:** pageNo, profiles (2 fields)

### `naukri/job` — Naukri Jobs API
Pull details for a specified number of Naukri job postings, including title, company, and experience · **$2/1k jobs**

**Example prompts:** "Find 100 software engineer jobs in Bangalore" · "Fetch 200 data scientist jobs with 5 to 10 years of experience"

**Inputs:**
- `inputs` (string, required) — A search keyword (e.g. 'software developer') or a Naukri search URL to scrape job listings from.
- `maxResults` (integer, primary, default 50) — Number of jobs to return (minimum 50). Use 0 for all.
- `freshness` (string, default "all") — Filter to recently-posted jobs. · options: all, 30, 15, 7, 3, 1
- `sortBy` (string, default "relevance") — Sort order for results. · options: relevance, date
- `experience` (string, default "all") — Required years of experience. · options (first 25 of 32 — fetch all via `GET /v1/data/naukri/job?expand=options`): all, 0, 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15, 16, 17, 18, 19, 20, 21, 22, 23, …
- `workMode` (array) — Filter by work arrangement. · options: office, temporary_wfh, remote, hybrid
- `department` (array) — Filter by department. · options (first 25 of 37 — fetch all via `GET /v1/data/naukri/job?expand=options`): 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15, 16, 17, 18, 19, 20, 21, 22, 23, 24, 25, …
- `salaryRange` (array) — Filter by salary band (Indian Lakhs per Annum). · options: 0to3, 3to6, 6to10, 10to15, 15to25, 25to50, 50to75, 75to100, 100to500, 501
- `companyType` (array) — Filter by company type. · options: 213, 211, 217, 62, 63, 215, 60
- `roleCategory` (array) — Filter by job role. · options (first 25 of 164 — fetch all via `GET /v1/data/naukri/job?expand=options`): 1028, 1067, 1065, 1027, 1066, 1029, 1025, 1167, 1072, 1016, 1018, 1054, 1022, 1050, 1056, 1080, 1048, 1082, 1031, 1108, 1039, 1165, 1013, 1073, 1019, …
- `industry` (array) — Filter by industry. · options (first 25 of 83 — fetch all via `GET /v1/data/naukri/job?expand=options`): 2, 101, 102, 103, 104, 105, 107, 108, 109, 110, 111, 112, 113, 114, 115, 116, 117, 119, 120, 121, 122, 123, 124, 125, 126, …
- `topCompanies` (array) — Filter to specific top companies. · options (first 25 of 1083 — fetch all via `GET /v1/data/naukri/job?expand=options`): 242, 292, 314, 788, 944, 1240, 1288, 1364, 1396, 1422, 1492, 1842, 1844, 2114, 2192, 2406, 2500, 2872, 3208, 3492, 3584, 3610, 4036, 4070, 4156, …
- `postedBy` (array) — Filter by who posted the listing. · options: 1, 2
- `stipend` (array) — Internship stipend range. · options: unpaid, 0To10, 10To20, 20To30, 30To40, 40To50, 50To1
- `duration` (array) — Internship duration. · options: 1, 2, 3, 4, 5, 6, -1
- `ugCourse` (array) — Required undergraduate course. · options (25 total, e.g.): 18, 11, 14, 10, 17, 5, 3, 4, 1, 13, 6, 9, 12, 2, 8, 16, 7, 36, 40, 35, …
- `pgCourse` (array) — Required postgraduate course. · options (25 total, e.g.): 19, 20, 13, 12, 14, 1, 11, 8, 15, 16, 10, 6, 5, 3, 9, 2, 18, 37, 7, 4, …
- `cities` (array) — Filter results to specific cities.
- `fetchDetails` (boolean, default false) — Pull full job description, requirements, etc. for each result. Slower but richer data.

**Returns:** jobUrl, jobId, jobTitle, company, companyId, location, minExperienceYrs, maxExperienceYrs, salaryMin, salaryMax, skills, description, requirementsSummary, jobType, posted, vacancies, views, applicants, applyUrl, appliesOnCompanySite, hasQuestionnaire, workplaceType, hybridDetail, industry, department, roleCategory, role, educationUg, educationPg, listingSource, postedByConsultant, hiringFor, companyDetails, benchmarkRole, benchmarkMinCtcLakhs, benchmarkAvgCtcLakhs, benchmarkMaxCtcLakhs, benchmarkSalariesUrl, benefits, employeeReviews, diversityTags, walkInJob, walkInVenue, walkInStart, walkInEnd, walkInTiming, walkInContact, walkInPhone, referenceCode, internshipDuration (50 fields)

### `reddit/comments` — Reddit Comments API
Extract every comment from a Reddit post — the full threaded discussion flattened to one row per comment, at any reply depth. · **$0.1/1k results**

**Inputs:**
- `inputs` (string, required) — Reddit post URL to fetch comments from (e.g. https://www.reddit.com/r/technology/comments/1ub7r1y/...).
- `maxResults` (integer, primary, default 50) — Number of comments to return. Use 0 for all.
- `includeComments` (boolean, default true) — Fetch the comment tree for each post. On by default for this agent.

**Returns:** commentUrl, commentId, comment, depth, author, authorFlair, isOp, upvotes, posted, edited, parentId, postId, postUrl, post, subreddit (15 fields)

### `reddit/posts` — Reddit Posts API
Extract Reddit posts from any subreddit, post, user, or feed — with an optional keyword search on top. Posts only (no comment tree). · **$0.1/1k results**

**Example prompts:** "Get the top 50 posts from r/wallstreetbets from the last 24 hours" · "Fetch the latest 20 posts from r/python, r/learnpython, and r/datascience"

**Inputs:**
- `urls` (string, primary) — Reddit URL to scrape posts from. Accepts a subreddit (r/technology or the full URL), a post link, a user profile, or a listing feed.
- `keyword` (string, primary) — Optional. A keyword to search Reddit posts for (e.g. 'gpt5'). Use on its own, or add it alongside the URLs above — both run together.
- `maxResults` (integer, primary, default 50) — Number of posts to return. Use 0 for all.
- `sortBy` (string, default "top") — Sort order for posts. · options: top, new, hot, relevance, comments
- `timeRange` (string, default "all") — Time window for posts. Only applies when Sort By is "Top" — Reddit ignores it for the other sorts. (Preset windows only; no custom date ranges.) · options: all, year, month, week, day, hour

**Returns:** type, redditUrl, redditId, title, body, subreddit, flair, author, authorFlair, upvotes, upvoteRatio, commentCount, gallery, externalLink, over18, posted, edited (17 fields)

### `shopify/products` — Shopify Products API
Extract product data — prices, variants, images, descriptions — from any Shopify-powered store URL · **$1/1k products**

**Example prompts:** "Top 100 products from Allbirds with current prices" · "Fetch the first 50 products from Gymshark with all variant details"

**Inputs:**
- `urls` (string, required) — Shopify store URL to crawl all products from, or an individual product URL.
- `maxResults` (integer, primary, default 50) — Number of products to return. Use 0 for all.

**Returns:** storeUrl, productUrl, productId, title, brand, category, description, tags, currency, priceFrom, priceTo, onSale, inStock, variantCount, variants, options, imageUrl, media, createdDate, publishedDate, recommendedProducts (21 fields)

### `tiktok/comments` — TikTok Comments API
Extract top-level comments from TikTok videos — comment text, likes, reply counts, commenter handle and profile, timestamps, and mentions — from video URLs or by profile. · **$0.5/1k comments**

**Example prompts:** "Get comments on a viral product video" · "Get 500 comments from a how-to video"

**Inputs:**
- `postURLs` (string, primary) — TikTok video URL to get comments from. E.g. https://www.tiktok.com/@username/video/1234567890.
- `profiles` (string, primary) — TikTok username whose videos' comments you want (with or without @). The actor pulls comments from the profile's videos — use Videos Per Profile to control how many.
- `commentsPerPost` (integer, default 100) — Number of comments to return. Use 0 for all. Actual counts can vary on very high-comment videos due to TikTok API limits.
- `topLevelCommentsPerPost` (integer) — Optional cap on top-level (non-reply) comments per video.
- `resultsPerPage` (integer, default 1) — By Profile mode only. Number of videos to pull comments from per profile.
- `profileScrapeSections` (array, default ["videos"]) — By Profile mode only. Which sections to pull videos from. · options: videos, reposts
- `profileSorting` (string, default "latest") — By Profile mode only. Order videos by latest, most popular, or oldest. · options: latest, popular, oldest
- `excludePinnedPosts` (boolean, default false) — By Profile mode only. Skip pinned videos at the top of a profile.

**Returns:** commentId, commenterUrl, commenterId, commenterAvatar, comment, likes, likedByCreator, pinnedByCreator, replies, postedDate, mentions, postUrl (12 fields)

### `tiktok/followers` — TikTok Followers & Following API
Pull the follower or following list of any public TikTok account — each row is a full profile (handle, name, followers, likes, videos, verified, bio) of someone connected to the queried account. · **$1/1k profiles**

**Example prompts:** "Get 500 followers of khaby.lame" · "Get who nasa follows"

**Inputs:**
- `profiles` (string, required) — TikTok username or handle whose followers/following you want (with or without @).
- `maxFollowersPerProfile` (integer, default 25) — Number of followers to return (accounts that follow the target). Leave blank for all.
- `maxFollowingPerProfile` (integer, default 0) — Number of following to return (accounts the target follows). Set to 0 to skip following.

**Returns:** profileUrl, handle, displayName, connectionType, connectedAccount, bio, followers, following, totalLikes, videos, verified, private, tiktokSeller, avatar, userId (15 fields)

### `tiktok/posts` — TikTok Posts API
Scrape TikTok videos and photo posts by profile, hashtag, keyword, post URL, or sound — with full engagement metrics, author stats, hashtags, mentions, and music. · **$2/1k posts**

**Example prompts:** "Get the latest 100 posts from khaby.lame" · "Get 200 posts under the hashtag recipe"

**Inputs:**
- `profiles` (string, primary) — TikTok username or handle to scrape posts from (with or without @).
- `hashtags` (string, primary) — Hashtag name to scrape posts for (without #).
- `searchQueries` (string, primary) — Free-text search query to find matching TikTok posts.
- `postURLs` (array, primary) — Direct TikTok video or post URLs to scrape, one per element.
- `musics` (string, primary) — TikTok music or sound page URL — returns posts that use this sound.
- `resultsPerPage` (integer, default 30) — Number of posts to return. Use 0 for all.

**Returns:** postUrl, author, caption, postedDate, views, likes, comments, shares, saves, language, isSlideshow, isAd, isSponsored, hashtags, mentions, effects, slideshowImages, photoSlideshowImageUrls, thumbnail, durationS, resolution, sound, location, locationAddress, country, hashtagViews, sourceQuery (27 fields)

### `tiktok/profiles` — TikTok Profiles API
Find TikTok accounts by keyword — handle, display name, bio, follower and engagement counts, verification, and business/seller info. · **$2.5/1k profiles**

**Example prompts:** "Find TikTok accounts for cooking recipes" · "Look up gymshark and nasa profiles"

**Inputs:**
- `searchQueries` (string, required) — Keyword to find TikTok accounts (e.g. nasa, gymshark, cooking recipes). Any query that works in TikTok search is accepted.
- `maxProfilesPerQuery` (integer, default 10) — Number of profiles to return. Use 0 for all.

**Returns:** profileUrl, handle, displayName, avatar, bio, bioLink, verified, followers, following, mutualFollows, totalLikes, likesGiven, videos, businessAccount, businessCategory, tiktokSeller, private, accountCreated, tiktokId (19 fields)

### `tiktok/shop` — TikTok Shop API
Search TikTok Shop by keyword and extract product listings — title, price, discount, seller, rating, sold count, promo labels, full description, and every variant with its stock and inventory. · **$15/1k products**

**Example prompts:** "Search phone case and return 50 products" · "Pull skincare serum products with pricing"

**Inputs:**
- `keywords` (string, required) — Product search query to run on TikTok Shop (e.g. phone case, wireless earbuds).
- `productsPerSearch` (integer, default 10) — Number of products to return. Use 0 for all. Capped at 10,000 per search.

**Returns:** title, productUrl, image, seller, salePrice, originalPrice, discount, currency, rating, reviewCount, soldCount, labels, description, variants, productId (15 fields)

### `tripadvisor/attractions` — TripAdvisor Attractions API
Extract TripAdvisor attraction (things to do) listings: contact details, full address, geo coordinates, rating with breakdown, league ranking, attraction types, Viator booking links, bookable ticket offers, and photos. · **$2/1k attractions**

**Inputs:**
- `query` (string, primary) — A location name or keyword to search, e.g. 'Rome' or 'Colosseum'. Use English place names for best coverage. (By Search mode.)
- `startUrls` (string, primary) — A TripAdvisor search or attraction page URL to extract attractions from. (By URL mode.)
- `maxResults` (integer, primary, default 50) — Number of attractions to return. Use 0 for all.
- `language` (string, default "en") — Language for the listing data.
- `currency` (string, default "USD") — Currency for prices.
- `includeTags` (boolean, default true) — Pull review category tags (e.g. "Family-friendly", "Hidden gem").
- `maxPhotosPerPlace` (integer, default 0) — Photos to fetch per attraction. Use 0 for none. Billed as an add-on per delivered photo.
- `photosType` (string, default "fromEveryone") — Which photo source to pull from. · options: fromEveryone, fromManagement, fromTravelers

**Returns:** id, name, subcategories, tripadvisorUrl, description, address, latitude, longitude, nearestMetroStations, phone, email, website, rating, reviews, ratingBreakdown, reviewTags, rank, rankOutOf, photos, photoCount, attractionTypes, bookingUrl, lowestTicketPrice, ticketOffers (24 fields)

### `tripadvisor/hotels` — TripAdvisor Hotels API
Extract TripAdvisor hotel listings: contact details, full address, geo coordinates, star rating with breakdown, league ranking, hotel class, room count, amenities, price range, OTA price offers, room tips, and photos. · **$2/1k hotels**

**Inputs:**
- `query` (string, primary) — A location name or keyword to search, e.g. 'Paris' or 'Lisbon hotels'. Use English place names for best coverage. (By Search mode.)
- `startUrls` (string, primary) — A TripAdvisor search results page or hotel page URL to extract hotels from. (By URL mode.)
- `maxResults` (integer, primary, default 50) — Number of hotels to return. Use 0 for all.
- `language` (string, default "en") — Language for the listing data.
- `currency` (string, default "USD") — Currency for prices.
- `includeTags` (boolean, default true) — Pull review category tags (e.g. "Family-friendly", "Romantic").
- `checkInDate` (date) — Check-in date for room pricing and offers.
- `checkOutDate` (date) — Check-out date for room pricing and offers.
- `maxPhotosPerPlace` (integer, default 0) — Photos to fetch per hotel. Use 0 for none. Billed as an add-on per delivered photo.
- `photosType` (string, default "fromEveryone") — Which photo source to pull from. · options: fromEveryone, fromManagement, fromTravelers

**Returns:** id, name, subcategories, tripadvisorUrl, description, address, latitude, longitude, nearbyTransit, phone, email, website, rating, reviews, ratingBreakdown, reviewTags, categoryRatingBreakdown, rank, rankOutOf, photos, photoCount, hotelClass, rooms, priceRange, priceLevel, amenities, hotelOffers, roomTips (28 fields)

### `tripadvisor/restaurants` — TripAdvisor Restaurants API
Extract TripAdvisor restaurant listings: contact details, full address, geo coordinates, rating with breakdown, league ranking, cuisines, dishes, meal types, dietary options, features, opening hours, menu and order-online links, price level, and photos. · **$2/1k restaurants**

**Inputs:**
- `query` (string, primary) — A location name or keyword to search, e.g. 'Paris' or 'Rome restaurants'. Use English place names for best coverage. (By Search mode.)
- `startUrls` (string, primary) — A TripAdvisor search or restaurant page URL to extract listings from. (By URL mode.)
- `maxResults` (integer, primary, default 50) — Number of restaurants to return. Use 0 for all.
- `language` (string, default "en") — Language for the listing data.
- `currency` (string, default "USD") — Currency for prices.
- `includeTags` (boolean, default true) — Pull review category tags (e.g. "Romantic", "Special occasion").
- `maxPhotosPerPlace` (integer, default 0) — Photos to fetch per restaurant. Use 0 for none. Billed as an add-on per delivered photo.
- `photosType` (string, default "fromEveryone") — Which photo source to pull from. · options: fromEveryone, fromManagement, fromTravelers

**Returns:** id, name, type, subcategories, tripadvisorUrl, description, address, neighborhood, latitude, longitude, phone, email, website, rating, reviews, ratingBreakdown, categoryRatings, reviewTags, rank, rankOutOf, photos, photoCount, cuisines, popularDishes, mealTypes, dietaryRestrictions, features, establishmentTypes, priceLevel, openingHours, timezone, menuUrl, orderOnline, closed (34 fields)

### `tripadvisor/reviews` — TripAdvisor Reviews API
Extract Tripadvisor reviews for specified places, with text, rating, dates, reviewer, owner responses, and place details · **$2/1k reviews**

**Example prompts:** "Get the latest 50 reviews for The Ritz-Carlton New York, Central Park" · "Fetch the 20 most recent reviews for Nobu Malibu and Spago Beverly Hills"

**Inputs:**
- `urls` (string, required) — TripAdvisor URL of the place to scrape reviews from.
- `maxResults` (integer, primary, default 100) — Number of reviews to return. Use 0 for all.
- `lastReviewDate` (date) — Stop loading reviews older than this date.
- `reviewRatings` (array, default ["ALL_REVIEW_RATINGS"]) — Filter to reviews with these ratings. Leave empty for all. · options: 1, 2, 3, 4, 5
- `reviewsLanguages` (array, default ["ALL_REVIEW_LANGUAGES"]) — Filter to reviews in these languages. Leave empty for all. · options (first 25 of 183 — fetch all via `GET /v1/data/tripadvisor/reviews?expand=options`): en, ab, aa, af, ak, sq, am, ar, an, hy, as, av, ae, ay, az, bm, ba, eu, be, bn, bh, bi, bs, br, bg, …
- `includeReviewerInfo` (boolean, default true) — Pull each reviewer's name, profile pic, location, etc.

**Returns:** reviewId, reviewUrl, reviewTitle, reviewText, rating, postedDate, travelDate, tripType, language, helpfulVotes, subratings, photos, ownerResponse, reviewerName, reviewerProfile, reviewerLocation, reviewerContributions, reviewerAvatar, placeId, place (20 fields)

### `twitter/followers` — Twitter / X Followers API
Pull a Twitter (X) profile's followers or following as full profile records — username, display name, bio, follower/following counts, location, links, account age, and latest tweet — from a single handle or profile URL. · **$0.25/1k profiles**

**Example prompts:** "Get the first 1,000 followers of nasa" · "List the accounts that sundarpichai follows"

**Inputs:**
- `handle` (string, required) — The X (Twitter) account whose network you want. Enter a handle or profile URL (e.g. 'NASA' or 'https://x.com/NASA').
- `listType` (string, primary, default "followers") — Which list to pull: 'followers' (accounts that follow this profile) or 'following' (accounts this profile follows). · options: followers, following
- `maxResults` (integer, primary, default 200) — Number of profiles to return. Use 0 for all.

**Returns:** username, profileUrl, displayName, accountId, bio, website, bioLinks, location, followers, followingCount, tweets, mediaPosts, likesGiven, listedCount, protected, accountCreated, pinnedTweetUrl, profilePicture, coverImage, followedHandle, latestTweet (21 fields)

### `twitter/profiles` — Twitter / X Profiles API
Get Twitter (X) user profiles — bio, follower/following counts, verification status and type, location, and links. Look them up by handle or profile URL, or discover accounts by keyword search. Returns the same complete profile either way. · **$0.5/1k profiles**

**Example prompts:** "Get the profile details for mrbeast" · "Extract profile data for sundarpichai, satyanadella, and tim_cook"

**Inputs:**
- `inputs` (array, primary) — One per line. You can input profile URLs or handles (e.g. 'NASA' or 'https://x.com/NASA').
- `searchTerms` (string, primary) — Keywords or topics to find X (Twitter) accounts for (e.g. 'climate scientist').
- `maxResults` (integer, primary, default 50) — Number of accounts to return. Use 0 for all.

**Returns:** username, profileUrl, displayName, accountId, bio, website, bioLinks, location, followers, following, tweets, mediaPosts, likesGiven, blueVerified, verifiedType, accountType, protected, accountCreated, openDms, pinnedTweetUrl, profilePicture, coverImage (22 fields)

### `twitter/replies` — Twitter / X Replies API
Extract every reply to a given tweet — each returned as a full tweet record with author profile, engagement metrics, media, mentions and quoted content. The original tweet is included too, flagged so you can tell it from the replies. · **$0.25/1k replies**

**Example prompts:** "Get the replies to a popular announcement tweet" · "Find the top 100 replies to a launch tweet by likes"

**Inputs:**
- `conversation_id` (string, required) — The tweet to fetch replies for — a tweet/status URL (https://x.com/.../status/<id>) or the bare numeric tweet ID. This is the conversation root.
- `maxResults` (integer, primary, default 100) — Number of replies to return. Use 0 for all.

**Returns:** tweetUrl, tweetText, postedDate, language, isReply, views, likes, retweets, replies, quotes, bookmarks, replyToHandle, replyToTweetUrl, quotedTweetUrl, quotedTweetText, hashtags, mentions, outboundLinks, tweetMedia, author (20 fields)

### `twitter/retweeters` — Twitter / X Retweeters API
Find everyone who retweeted a given tweet, each returned as a full Twitter (X) profile — handle, display name, bio, follower/following counts, verification status, location, and links. · **$0.25/1k profiles**

**Example prompts:** "Get the accounts that retweeted a specific NASA tweet" · "Find the top retweeters of a product launch tweet by follower count"

**Inputs:**
- `tweet_ids` (string, required) — The tweet URL or numeric tweet ID (e.g. 'https://x.com/NASA/status/2039473910987534599' or '2039473910987534599') whose retweeters you want to retrieve.
- `max_items_per_tweet` (integer, primary, default 100) — Number of retweeter profiles to return. Use 0 for all.

**Returns:** username, profileUrl, displayName, accountId, bio, website, bioLinks, location, followers, following, tweets, mediaPosts, likesGiven, blueVerified, legacyVerified, accountCreated, openDms, pinnedTweetUrl, profilePicture, coverImage, sourceTweetUrl (21 fields)

### `twitter/tweets` — Twitter / X Tweets API
Extract tweets from Twitter (X) by handle, search keyword, or tweet URL — with full text, date, media, quoted/retweeted content, and all engagement metrics · **$0.25/1k tweets**

**Example prompts:** "Get the latest 50 posts from elonmusk" · "Fetch the most recent 20 posts each from OpenAI, Anthropic, and Google"

**Inputs:**
- `inputs` (string, required) — A Twitter/X handle (e.g. 'elonmusk' for their timeline including retweets) or a single tweet URL to fetch.
- `maxResults` (integer, primary, default 100) — Maximum number of tweets to return. Use 0 for all.
- `query` (string) — Optional advanced-search query string (Twitter search operators supported, e.g. 'from:nasa min_retweets:50 since:2026-01-01').

**Returns:** tweetUrl, tweetId, tweetText, postedDate, language, conversationId, views, likes, retweets, replies, quotes, bookmarks, isReply, isQuote, isPinned, repliesRestricted, replyToHandle, replyToTweetUrl, retweetedTweetUrl, retweetedTweetText, originalPostDate, quotedTweetUrl, quotedTweetText, hashtags, mentions, outboundLinks, cashtags, linkCardTitle, linkCardDescription, linkCardDomain, tweetMedia, taggedPlace, taggedPlaceCountry, authorId, author (35 fields)

### `upwork/jobs` — Upwork Jobs API
Extract Upwork job postings with their title, description, budget, required skills, and client details · **$3/1k jobs**

**Example prompts:** "First 10 jobs from the Upwork python developer feed with client stats" · "Latest 50 React jobs and how many freelancers have already applied"

**Inputs:**
- `inputs` (string, required) — Search keyword or phrase to find Upwork job postings (e.g. 'python developer').
- `limit` (integer, primary, default 50) — Number of jobs to return (5–500). Use 0 for all.
- `sortBy` (string, default "relevance") — Sort order for results. · options: relevance, newest
- `isHourly` (boolean, default true) — Include jobs with hourly pricing.
- `hourlyMinPrice` (integer) — Lowest hourly rate. Only applies when "Include Hourly Jobs" is on.
- `hourlyMaxPrice` (integer) — Highest hourly rate. Only applies when "Include Hourly Jobs" is on.
- `isFixed` (boolean, default true) — Include jobs with a fixed total budget.
- `fixedMinPrice` (integer) — Lowest fixed budget. Only applies when "Include Fixed-Price Jobs" is on.
- `fixedMaxPrice` (integer) — Highest fixed budget. Only applies when "Include Fixed-Price Jobs" is on.
- `experienceLevel` (array) — Filter by required experience level. · options: EntryLevel, IntermediateLevel, ExpertLevel
- `clientHistory` (array) — Filter by the client's hiring history on Upwork. · options: 0, 1-9, 10-
- `projectLength` (array) — Filter by project duration. · options: week, month, semester, ongoing
- `hoursPerWeek` (array) — Filter by required commitment. · options: part_time, full_time
- `location` (array) — Filter results by the client's country (e.g. 'United States').

**Returns:** jobTitle, jobUrl, jobId, jobDescription, jobAccess, jobStatus, posted, jobType, fixedBudget, hourlyRateMin, hourlyRateMax, experienceLevel, projectLength, weeklyWorkload, category, categoryGroup, occupation, skills, skillGroups, projectType, featuredJob, contractToHire, positionsToHire, applicants, interviewing, invitesSent, unansweredInvites, hired, client, clientOtherOpenPostings, similarJobs, minJobSuccessScore, englishLevel, risingTalentOk, freelancerType, localMarketJob, locationCheckRequired, requiredCountries, requiredRegions, requiredLanguages, requiredTimezones, deadline, hourlyBudgetSource, resultRank (44 fields)

### `yelp/business` — Yelp Business API
Extract Yelp business profiles — name, address, phone, website, ratings, attributes, photos, review insights, popular dishes, and health inspections — by business URL or by location + keyword search. One clean row per business. · **$0.5/1k businesses**

**Inputs:**
- `urls` (array, primary) — Yelp business page URL to fetch (e.g. https://www.yelp.com/biz/molinari-delicatessen-san-francisco).
- `location` (string, primary) — City, region, or address to search within (e.g. "San Francisco, CA"). Used with Keyword.
- `keyword` (string, primary) — What to search for in the location — a plain term, not a URL (e.g. coffee, restaurants, plumbers, dentist).
- `sort` (string, default "recommended") — Search result ordering. · options: recommended, rating, review_count
- `priceLevels` (array) — Search filter: restrict to price bands $ to $$$$. · options: 1, 2, 3, 4
- `features` (array) — Search filter: restrict to businesses with these features (e.g. Wheelchair Accessible, Dogs Allowed, Free WiFi).
- `limit` (integer, default 1) — Number of result pages to fetch (~80 businesses per page, up to 40 pages). Use 0 for all.

**Returns:** businessName, businessUrl, address, neighborhoods, latitude, longitude, phone, website, menuUrl, rating, totalReviews, starBreakdown, reviewInsights, reviewHighlights, popularDishes, attributes, specialties, summary, yearEstablished, history, photos, healthInspections, hoursToday, qACount, qAContent (25 fields)

### `yelp/reviews` — Yelp Reviews API
Extract individual Yelp reviews from business pages — full review text, star rating, absolute review date, reviewer profile, reader-reaction counts (helpful, thanks, love this, oh no), photos, videos, and owner public replies. One clean row per review. · **$0.25/1k reviews**

**Example prompts:** "Get 50 reviews for Katz's Delicatessen" · "Latest 20 reviews for Tartine Bakery and Voodoo Doughnut"

**Inputs:**
- `urls` (string, required) — Yelp business page URL to scrape reviews from (e.g. https://www.yelp.com/biz/katzs-delicatessen-new-york).
- `maxReviews` (integer, primary, default 100) — Number of reviews to return in total. Use 0 for all available reviews.

**Returns:** reviewId, rating, reviewText, reviewDate, reviewUrl, language, translatedText, publicReply, photos, photoCaption, videos, totalReactions, reactions, firstReviewer, reviewer, business (16 fields)

### `youtube/channels` — YouTube Channel Details API
Extract YouTube channel details — name, handle, subscribers, total views/videos, description, country, join date, verification, avatar/banner, and the channel's social + website links — by channel URL, @handle, or keyword search. · **$0.5/1k channels**

**Example prompts:** "Get profile details for MrBeast" · "Pull channel info for MKBHD, Marques Brownlee, and Linus Tech Tips"

**Inputs:**
- `urls` (array, primary) — YouTube channel URLs (e.g. https://www.youtube.com/@MrBeast or https://www.youtube.com/channel/UC...) or @handles.
- `query` (string, primary) — Keyword or phrase to search YouTube channels for (e.g. 'tech reviews' or 'cooking'). Returns the full channel profile for each matching channel.

**Returns:** channelName, handle, channelId, channelUrl, subscribers, totalViews, totalVideos, avgViewsPerVideo, description, country, joinedDate, joinedYear, verified, hasVideos, avatarUrl, bannerUrl, instagramUrl, twitterXUrl, tiktokUrl, websiteUrl, links (21 fields)

### `youtube/comments` — YouTube Comments API
Extract YouTube comments — text, likes, replies, author details, and publish date — from any video URL · **$0.5/1k comments**

**Example prompts:** "1000 comments from the OpenAI Sora launch video" · "Fetch the top 200 comments from recent videos by Figma and Adobe"

**Inputs:**
- `videoUrl` (string, required) — YouTube video URL to scrape comments from. E.g. https://www.youtube.com/watch?v=dQw4w9WgXcQ
- `maxResults` (integer, default 100) — Total number of comments to return. Use 0 for all.

**Returns:** comment, likes, replies, author, authorChannelId, authorVerified, authorIsArtist, authorIsOwner, authorThumbnail, published, publishedRelative, commentId, videoUrl, commentUrl (14 fields)

### `youtube/videos` — YouTube Videos & Reels API
Scrape YouTube videos and Reels — by search query, channel URL, or direct video URLs. Get views, likes, comments, duration, publish date, description, keywords, category, channel info, and thumbnails. · **$0.5/1k videos**

**Example prompts:** "Get the latest 50 videos from MrBeast" · "Fetch the 20 most recent videos from Marques Brownlee, Linus Tech Tips, and iJustine"

**Inputs:**
- `query` (string, primary) — Keyword or phrase to search YouTube (e.g. 'python tutorial'). Returns ranked video results matching the query.
- `channelUrl` (string, primary) — YouTube channel URL (e.g. https://www.youtube.com/@MrBeast or https://www.youtube.com/channel/UC...) or @handle. Returns all videos from the channel.
- `urls` (array, primary) — Direct YouTube video URLs (e.g. https://www.youtube.com/watch?v=...). One per line. Returns full metadata for each video.
- `maxResults` (integer, default 50) — Total number of videos to return. Applies to Search and Channel modes.

**Returns:** type, title, videoUrl, views, likes, comments, durationS, published, description, keywords, category, availableCaptions, isLive, thumbnail, channel, channelId, channelHandle, subscribers, channelUrl, channelBadges, channelAvatar (21 fields)

### `zepto/category` — Zepto Category API
Extract Zepto category page listings — products, prices, stock, ratings — from category URLs · **$1/1k products**

**Example prompts:** "All dairy and eggs products on Zepto Bangalore" · "Dairy and eggs for Zepto stores in Indiranagar and Whitefield"

**Inputs:**
- `category` (string, required) — Top-level category (e.g. Cold Drinks & Juices). · options (first 25 of 35 — fetch all via `GET /v1/data/zepto/category?expand=options`): Apparel Lifestyle, Atta Rice Oil Dals, Baby Care, Bath Body, Biscuits, Breakfast Sauces, Cleaning Essentials, Cold Drinks Juices, Dairy Bread Eggs, Electronics Appliances, Feminine Hygiene, Fragrances Grooming, Frozen Food, Fruits Vegetables, Hair Care, Home Needs, Ice Creams More, Jewellery, Kitchen Dining, Makeup Beauty, Masala Dry Fruits More, Meats Fish Eggs, Munchies, Paan Corner, Packaged Food, …
- `sub_category` (string, required) — Sub-category within it (e.g. Soft Drinks). · options (first 25 of 415 — fetch all via `GET /v1/data/zepto/category?expand=options`): Accessories, Bags Wallets, Boys Bottomwear, Boys Ethnic Wear, Boys Innerwear, Boys Swimwear, Boys Topwear, Eyewear, Girls Ethnic Wear, Girls Innerwear, Girls Swimwear, Girls Topwear, Handbags Purses, Infant Apparel, Kids Footwear, Men S Bottomwear, Men S Ethnic Wear, Men S Footwear, Men S Innerwear, Men S Swimwear, Men S Topwear, Suitcases, Travel Accessories, Unisex Footwear, Unisex Topwear, …
- `store_id` (string, primary) — Dark store — pick a city and pincode first. · options (first 25 of 1202 — fetch all via `GET /v1/data/zepto/category?expand=options`): 3d03e7a7-4ded-458a-9349-2978cd333ef0, 73b0c599-728d-4642-a0e3-1e5b68836327, e1befcff-e3d0-4fce-929c-50b9b6ae296f, 7e7b4df8-a5a1-4acb-9aa4-b5ecf86a6f2b, b8d61fbc-eb4a-4836-b785-e3b63aa3fa62, 93515725-fe2e-4ef3-9154-d4e23cd39c2f, c978abd4-1b79-40d2-ab47-ec19b7c29d41, dc8d6b1b-1d01-46bd-809c-606fca125ab1, 4954030c-39da-4fc6-8e33-c880095cc345, c2c05ffc-0eb1-4164-86cc-49cb1271d92a, 9bb503dd-63be-4b26-b2ba-8fe51192d2bd, 656bef79-0f91-45cd-9f93-8fedf1a932ce, 32ac84e0-0a29-4c1f-865a-c33780173389, 321b0b48-7137-4832-ab17-f131421bdb78, 681003a8-bce8-4481-980d-8253746471e6, 7841c1f4-64bf-4c81-824f-c5369ead251d, f70fa1be-1eea-45a4-a692-219b12d85b24, 84f9975d-cc19-4d21-aa76-43e3aab9779a, efaa6e99-a68b-4c31-a50a-1bc5712533d7, db68a1c5-3c18-49d4-bd83-87b4f580fd45, 7e586f3d-8e30-4859-8851-4476b8a965f4, 94f50df3-fb2e-4c36-ad6f-8a00bfd1c6af, 8628a7a0-4fb1-4002-95d3-f5ab2061181f, 852818aa-dfa5-4943-b2b5-1cd51c26bdd5, 05c5bd1a-d9b2-4ea3-848c-d8ae96b1d04a, …
- `lat` (number) — Or target by coordinates — latitude (use with longitude).
- `lon` (number) — Or target by coordinates — longitude (use with latitude).
- `city` (string) — City — filters the pincode and store lists. · options (first 25 of 82 — fetch all via `GET /v1/data/zepto/category?expand=options`): New Delhi, Faridabad, Gurugram, Rewari, Hisar, Sonipat, Karnal, Panipat, Kurukshetra, Ambala, Panchkula, Sas Nagar, Ludhiana, Amritsar, Jalandhar, Patiala, Chandigarh, Thane, Ghaziabad, Noida, Greater Noida, Kanpur, Prayagraj, Varanasi, Lucknow, …
- `pincode` (string) — Pincode — pick a city first; filters the store list. · options (first 25 of 695 — fetch all via `GET /v1/data/zepto/category?expand=options`): 110002, 110003, 110007, 110008, 110009, 110014, 110015, 110016, 110017, 110018, 110019, 110022, 110023, 110025, 110026, 110027, 110031, 110034, 110035, 110037, 110040, 110041, 110042, 110043, 110045, …
- `maxResults` (integer, default 0) — How many products to return for the category. Use 0 for all.

**Returns:** productName, brand, variantId, productId, price, mrp, discount, packSize, inStock, stockCount, rating, ratingCount, rank, sponsored, images, productUrl, description, countryOfOrigin, manufacturer, seller, specifications, storeId, latitude, longitude (24 fields)

### `zepto/products` — Zepto Products API
Extract Zepto product details — MRP, selling price, stock — from product URLs · **$1/1k products**

**Example prompts:** "Get the price and discount for Kurkure Namkeen Puffcorn on Zepto" · "Fetch details for a Bingo Mad Angles product URL at a Mumbai store"

**Inputs:**
- `url` (string, required) — Product page URL to scrape.
- `store_id` (string, primary) — Dark store — pick a city and pincode first. · options (first 25 of 1202 — fetch all via `GET /v1/data/zepto/products?expand=options`): 3d03e7a7-4ded-458a-9349-2978cd333ef0, 73b0c599-728d-4642-a0e3-1e5b68836327, e1befcff-e3d0-4fce-929c-50b9b6ae296f, 7e7b4df8-a5a1-4acb-9aa4-b5ecf86a6f2b, b8d61fbc-eb4a-4836-b785-e3b63aa3fa62, 93515725-fe2e-4ef3-9154-d4e23cd39c2f, c978abd4-1b79-40d2-ab47-ec19b7c29d41, dc8d6b1b-1d01-46bd-809c-606fca125ab1, 4954030c-39da-4fc6-8e33-c880095cc345, c2c05ffc-0eb1-4164-86cc-49cb1271d92a, 9bb503dd-63be-4b26-b2ba-8fe51192d2bd, 656bef79-0f91-45cd-9f93-8fedf1a932ce, 32ac84e0-0a29-4c1f-865a-c33780173389, 321b0b48-7137-4832-ab17-f131421bdb78, 681003a8-bce8-4481-980d-8253746471e6, 7841c1f4-64bf-4c81-824f-c5369ead251d, f70fa1be-1eea-45a4-a692-219b12d85b24, 84f9975d-cc19-4d21-aa76-43e3aab9779a, efaa6e99-a68b-4c31-a50a-1bc5712533d7, db68a1c5-3c18-49d4-bd83-87b4f580fd45, 7e586f3d-8e30-4859-8851-4476b8a965f4, 94f50df3-fb2e-4c36-ad6f-8a00bfd1c6af, 8628a7a0-4fb1-4002-95d3-f5ab2061181f, 852818aa-dfa5-4943-b2b5-1cd51c26bdd5, 05c5bd1a-d9b2-4ea3-848c-d8ae96b1d04a, …
- `lat` (number) — Or target by coordinates — latitude (use with longitude).
- `lon` (number) — Or target by coordinates — longitude (use with latitude).
- `city` (string) — City — filters the pincode and store lists. · options (first 25 of 82 — fetch all via `GET /v1/data/zepto/products?expand=options`): New Delhi, Faridabad, Gurugram, Rewari, Hisar, Sonipat, Karnal, Panipat, Kurukshetra, Ambala, Panchkula, Sas Nagar, Ludhiana, Amritsar, Jalandhar, Patiala, Chandigarh, Thane, Ghaziabad, Noida, Greater Noida, Kanpur, Prayagraj, Varanasi, Lucknow, …
- `pincode` (string) — Pincode — pick a city first; filters the store list. · options (first 25 of 695 — fetch all via `GET /v1/data/zepto/products?expand=options`): 110002, 110003, 110007, 110008, 110009, 110014, 110015, 110016, 110017, 110018, 110019, 110022, 110023, 110025, 110026, 110027, 110031, 110034, 110035, 110037, 110040, 110041, 110042, 110043, 110045, …

**Returns:** productName, brand, variantId, productId, price, mrp, discount, packSize, inStock, stockCount, rating, ratingCount, category, rank, sponsored, images, productUrl, description, countryOfOrigin, manufacturer, seller, specifications, storeId, latitude, longitude (25 fields)

### `zepto/search` — Zepto Search API
Search Zepto by query — listings, prices, stock, ratings, images · **$1/1k products**

**Example prompts:** "Search for Aashirvaad Atta in Bangalore stores on Zepto" · "Search for Coke, Pepsi, and Sprite on Zepto in Delhi"

**Inputs:**
- `query` (string, required) — What to search for (e.g. milk, chocolate).
- `store_id` (string, primary) — Dark store — pick a city and pincode first. · options (first 25 of 1202 — fetch all via `GET /v1/data/zepto/search?expand=options`): 3d03e7a7-4ded-458a-9349-2978cd333ef0, 73b0c599-728d-4642-a0e3-1e5b68836327, e1befcff-e3d0-4fce-929c-50b9b6ae296f, 7e7b4df8-a5a1-4acb-9aa4-b5ecf86a6f2b, b8d61fbc-eb4a-4836-b785-e3b63aa3fa62, 93515725-fe2e-4ef3-9154-d4e23cd39c2f, c978abd4-1b79-40d2-ab47-ec19b7c29d41, dc8d6b1b-1d01-46bd-809c-606fca125ab1, 4954030c-39da-4fc6-8e33-c880095cc345, c2c05ffc-0eb1-4164-86cc-49cb1271d92a, 9bb503dd-63be-4b26-b2ba-8fe51192d2bd, 656bef79-0f91-45cd-9f93-8fedf1a932ce, 32ac84e0-0a29-4c1f-865a-c33780173389, 321b0b48-7137-4832-ab17-f131421bdb78, 681003a8-bce8-4481-980d-8253746471e6, 7841c1f4-64bf-4c81-824f-c5369ead251d, f70fa1be-1eea-45a4-a692-219b12d85b24, 84f9975d-cc19-4d21-aa76-43e3aab9779a, efaa6e99-a68b-4c31-a50a-1bc5712533d7, db68a1c5-3c18-49d4-bd83-87b4f580fd45, 7e586f3d-8e30-4859-8851-4476b8a965f4, 94f50df3-fb2e-4c36-ad6f-8a00bfd1c6af, 8628a7a0-4fb1-4002-95d3-f5ab2061181f, 852818aa-dfa5-4943-b2b5-1cd51c26bdd5, 05c5bd1a-d9b2-4ea3-848c-d8ae96b1d04a, …
- `lat` (number) — Or target by coordinates — latitude (use with longitude).
- `lon` (number) — Or target by coordinates — longitude (use with latitude).
- `city` (string) — City — filters the pincode and store lists. · options (first 25 of 82 — fetch all via `GET /v1/data/zepto/search?expand=options`): New Delhi, Faridabad, Gurugram, Rewari, Hisar, Sonipat, Karnal, Panipat, Kurukshetra, Ambala, Panchkula, Sas Nagar, Ludhiana, Amritsar, Jalandhar, Patiala, Chandigarh, Thane, Ghaziabad, Noida, Greater Noida, Kanpur, Prayagraj, Varanasi, Lucknow, …
- `pincode` (string) — Pincode — pick a city first; filters the store list. · options (first 25 of 695 — fetch all via `GET /v1/data/zepto/search?expand=options`): 110002, 110003, 110007, 110008, 110009, 110014, 110015, 110016, 110017, 110018, 110019, 110022, 110023, 110025, 110026, 110027, 110031, 110034, 110035, 110037, 110040, 110041, 110042, 110043, 110045, …
- `maxResults` (integer, default 0) — How many products to return for the search. Use 0 for all.

**Returns:** productName, brand, variantId, productId, price, mrp, discount, packSize, inStock, stockCount, rating, ratingCount, category, rank, sponsored, images, productUrl, description, countryOfOrigin, manufacturer, seller, specifications, storeId, latitude, longitude (25 fields)

### `zillow/properties` — Zillow Property Records API
Full Zillow property dossier — price, beds/baths, valuation, tax & price history, schools, agent, photos and more — for every property surfaced by a ZIP code, a typed location, or a Zillow search URL. · **$1.5/1k results**

**Inputs:**
- `zipCodes` (string, primary) — US ZIP code to pull properties from (e.g. 10014, 90210). Returns the full record for each property found.
- `searchTerm` (string, primary) — A typed location to search — a city, neighborhood, or borough (e.g. 'Brooklyn, NY', 'Austin, TX'). Returns the full record for each property found.
- `searchUrls` (string, primary) — Paste a real Zillow search-results URL. Copy it from your browser after filtering on zillow.com — the URL must contain '?searchQueryState='. Returns the full record for each property in the results.
- `propertyStatus` (string, primary, default "FOR_SALE") — Which listings to look for. Zillow uses a different data source per status, so pick the one matching your search. · options: FOR_SALE, RECENTLY_SOLD, FOR_RENT
- `priceMin` (integer) — Minimum price filter (monthly price for rentals). By ZIP only.
- `priceMax` (integer) — Maximum price filter (monthly price for rentals). By ZIP only.
- `daysOnZillow` (string) — Only properties listed within this window (for Recently Sold, days since sold). By ZIP only. · options: , 1, 7, 14, 30, 90, 6m, 12m, 24m, 36m
- `maxResults` (integer, primary, default 50) — Number of property records to return. Use 0 for all.

**Returns:** zpid, buildingId, zillowUrl, street, city, state, zip, zipPlus4, county, countyFips, parcelNumber, latitude, longitude, neighborhood, subdivision, walkScore, transitScore, bikeScore, status, detailedStatus, propertyType, listingType, isOpenHouse, openHouses, daysOnZillow, favoriteCount, pageViewCount, listedDate, price, pricePerSqft, priceCut, priceCutDate, zestimate, zestimateLowPercent, zestimateHighPercent, rentZestimate, rentZestimateLowPercent, rentZestimateHighPercent, lastSoldPrice, lastSoldDate, taxAssessedValue, annualTaxAmount, propertyTaxRate, annualHomeInsurance, monthlyHoaFee, hoaName, hoaPhone, bedrooms, bathrooms, fullBaths, halfBaths, livingAreaSqft, lotSizeSqft, yearBuilt, stories, parkingSpaces, garageSpaces, hasGarage, hasPool, features, petsAllowed, allowedPets, leaseTerm, availableDate, priceHistory, taxHistory, listingAgent, schools, photo, photoGallery, photoCount, virtualTourUrl, description, homeHighlights, nearbyHomes, building, foreclosure (77 fields)
<!-- skills:agents:end -->

---

## Quick recipes

**Run and wait (raw HTTP, any language):**
1. `POST /agents/{id}/run` with `{ "params": {...} }` → get `job_id`
2. loop: `GET /jobs/{job_id}/results` every 2s
3. stop when `status == "completed"` → use `data`; or `failed`/`cancelled` → handle error

**Find the right agent:** `GET /agents/all`, match by platform + task in the
`group`/`slug`/`name`/`description`, then `GET /agents/{group}/{slug}` for params.

**Estimate cost:** `price_per_1k_usd × (expected_rows / 1000)`. Cap rows with the
agent's limit param. Check `GET /balance` first.

---

*Generated for Mindcase — https://mindcase.co*
