All platforms9 Google Trends endpoints

Google Trends API. Trends as JSON.

Trending searches by place, interest over time, regional interest and related queries for up to five terms, returned as typed JSON with a lookup status on every answer.

No credit card requiredRead the API docs
  • Trending by place
  • Up to 5 terms
  • 1 credit per request
  • Failed requests aren't charged
99.8% uptime#3 Product of the Day3,200+ developers

Teams running monitoring, research, and enrichment pipelines

Google Trends data as JSON. You build the product.

Live Google Trends data in one response shape, with platform changes handled for you.

Google Trends, plus every other platform

One key and one response envelope for Google Trends and 56 more platforms.

Pricing you can reason about

One request, one credit. Know how far your balance will go before you run your next batch.

Live data on every request

Fetch public data when you ask for it.

Nothing to maintain

We handle platform changes and breakages.

Built for production jobs

Run concurrent workloads with explicit statuses and request IDs.

Regular jobs. Better rates.

Running lookups every month? Get lower per-credit rates with a monthly plan. For occasional projects, choose pay as you go.

Never expires
Use cases

What teams build with Google Trends data

Monitoring, enrichment, research and content workflows on Google Trends data, on the same API as every other platform.

What you can build

Track rising searches

Follow trending searches by place and window.

Research demand

Compare interest over time and by region, with related queries.

How it works

Your first request in three steps.

Use TypeScript or your automation tool of choice.

Sources

+ 51 more platforms

One request

Social Fetch API

GET/v1/tiktok/profiles/charlidamelio

x-api-key: sk_live_••••••••

1 request · 1 credit

Same JSON shape

response.json200 OK
{
  "data": {
    "lookupStatus": "found",
    "profile": {
      "platform": "tiktok",
      "handle": "charlidamelio",
      "displayName": "charli d’amelio",
      "verified": true
    },
    "metrics": {
      "followers": 160263648
    }
  }
}
  1. Step 1

    Create your free account

    Get an API key with 100 requests included.

  2. Step 2

    Choose an endpoint

    Pass a username, URL, keyword, or post ID.

  3. Step 3

    Get clean JSON

    Use the response immediately or send it into your pipeline.

Works with your stack

Code, automate, or connect your AI.

Explore integrations

Pricing

Social data, priced simply.

Start with 100 free credits. Monthly plans give you predictable volume and lower per-request rates.

Starter

$29.00

18,000credits

  • Top up from $1.61 / 1k if you run out
  • Up to 25 monitors
Most popular

Growth

$79.00

50,000credits

  • Top up from $1.58 / 1k if you run out
  • 5 team seats
  • Up to 100 monitors

Scale

$225.00

150,000credits

  • Top up from $1.50 / 1k if you run out
  • 25 team seats
  • Up to 250 monitors
  • Cancel anytime
  • 30-day money-back guarantee
  • Price locked while you stay

Need 1M+ credits, invoicing, or volume rates? Talk to us

Trust signals

DevHunt

Product Hunt

Uneed

Customers

Teams building on Social Fetch.

“Our TikTok and Instagram scrapers broke constantly. Social Fetch took us off that rotation — we ship product again.”

Daniel Reeve · Founder, Social Crow
  • “Transcripts at volume from one endpoint. No broken scrapers for our small team to maintain.”

    Marcus Lin · Founder, Voice Gecko
  • “Live profile data on every request. We never flag accounts from a stale cache.”

    Hannah Webb · Founder, Scam Finder
  • “Heavy concurrent load, no rate limits to negotiate. The rare API I haven't wrapped in retries.”

    Owen Pritchard · Founder, IP Flare

Google Trends API: common questions

What can I get from the Google Trends API?

Nine routes: trending searches, trending headlines, topic suggestions, the place list, the category list, interest over time, interest by region, related queries and a combined report. Each is a GET under /v1/google-trends and costs one credit per completed request.

How do I read trending searches for a country?

Call GET /v1/google-trends/trending with geo set to a code from the place list and hours set to 4, 24, 48 or 168. Optional filters are category, active and sort; limit takes 1 to 100 rows. Read trends[] and follow page.nextCursor while page.hasMore is true.

What does lookupStatus mean?

found means the answer contains data. not_found means there is no such place or entity. no_data means the answer is valid but has no values for the request. Interest-by-region and report return no_data with no place marked as having data when the term has no data. found, not_found and no_data are HTTP 200; an input the route refuses (an unsupported geo or category, for example) is a 400. Check data.lookupStatus as well as the status code.

How many terms can I compare?

Interest over time and interest by region take one to five terms in query, comma-separated or repeated. Repeat the parameter when a term itself contains a comma. Related queries and the combined report take one term. Interest over time also accepts two time ranges for a single term; two named ranges must be the same length, while custom ranges may differ.

What time ranges are accepted?

Named ranges are now 1-H, now 4-H, now 1-d, now 7-d, today 1-m, today 3-m, today 12-m, today 5-y and all. A custom range is YYYY-MM-DD YYYY-MM-DD, with an optional THH hour on either end. Two named ranges in a comparison must be the same length and the two ranges must differ; custom ranges may differ in length. A malformed, inverted or future range is refused before any lookup, and a custom range that ends before January 2004 is refused because Google Trends has no data there.

How do I send a topic instead of a text term?

Call GET /v1/google-trends/suggestions?query=coffee. Each item in topics[] has an id such as /m/02vqfm, a title and a type. Send id:/m/02vqfm as the term to mean that topic rather than the text.

What do the interest values mean?

Values are 0 to 100 and are relative to the peak inside that one request, so they cannot be compared across requests. Each point has values and hasData arrays with one entry per term, and each region row has the same. A false entry in hasData means there was no figure there.

Are the place and category lists complete?

geos returns 250 countries, 3,130 subdivisions and 301 US metro areas when unfiltered, and categories returns 1,426 explore nodes. Both are flattened with level and parentId. Explore category ids repeat in different branches, and the same id and parentId can repeat too, so match on path (the ancestor ids from the root through the row), which is unique, rather than treating the id as unique. Trending uses its own category ids and returns their names on each row.

How much does the Google Trends API cost?

One credit per completed request on every route. Following a trending cursor is another request. meta.creditsCharged on each response is the billing source of truth, and new accounts start with 100 free credits.

Can I use these routes from an agent or MCP?

Yes. Each route is a typed MCP tool and can be reached through Ask in plain English. Use the typed routes for production jobs where you need the exact fields.

The Google Trends API in detailHow the Google Trends routes work, what they cost, and how they differ from the official API.

Why teams use Social Fetch for Google Trends

Social Fetch exposes nine routes under /v1/google-trends. Two return trending searches: /trending returns the full list for a place and window with volume buckets, growth, times, related searches and the trending list's own category ids and names, and /trending/headlines returns the ten-item headline list with pictures and news stories. Three routes return the reference trees you need to name inputs: /suggestions turns text into topic ids, /geos lists countries, subdivisions and US metro areas, and /categories lists the explore category ids and names.

The other four routes return interest data. /interest-over-time compares one to five terms over one range, or one term over two periods, and returns the values as points[] with values, hasData, label, time and a period for two-period answers. /interest-by-region returns regions[] with a value per term, hasData and coordinates for city results where available; DMA rows carry a full place id when the request names a state, and Australia and New Zealand have no city-level breakdown, so that request is refused as a 400. /related-queries returns the top and rising lists for one term, and /report returns the time series, regions and related queries for one term in a single request.

Every answer uses the { data, meta } envelope. data.lookupStatus is found, not_found or no_data; found and no_data answers are HTTP 200, and an input the route refuses is a 400. Branch on the field, not only the status. Interest values are relative to the peak inside the request, not counts. The trending route pages with page.hasMore and page.nextCursor; the other lists are complete reference trees, fixed-size lists or metric answers.

How to call the Google Trends API

  1. 1. Create an API key

    Sign up at Social Fetch and copy a key (sfk_...). New accounts get 100 free credits, enough to try every Google Trends route.

  2. 2. Name the place and the terms

    Use a country code such as US or DE, or a subdivision such as US-CA; /geos lists the places the explore routes accept, while the trending list serves countries and most subdivisions. Terms are plain text or a topic id from /suggestions, and an explore request takes up to five of them.

  3. 3. Check the status and the shape

    Read data.lookupStatus before using a row, follow page.nextCursor while page.hasMore is true, and bill from meta.creditsCharged.

What each Google Trends route returns

  • Trending searches for a country or subdivision with hours 4, 24, 48 or 168, optional category, active and sort, and a cursor for the next page.
  • The ten-item headline list with searchVolume.label, startedAt, a picture and up to three news[] items.
  • Topic suggestions with the Knowledge Graph id to send back as id:/m/... in an explore query.
  • The full place tree, 250 countries, 3,130 subdivisions and 301 US metro areas, flattened with level and parentId.
  • The explore category tree, 1,426 nodes, flattened with level, parentId and a unique path from the root so repeated ids stay distinct by branch. The trending list has its own smaller category set.
  • Interest over time and by region for one to five terms, with the answer's resolution, notes and data-gap flags.
  • top and rising related queries, including breakout rows, and a combined report with the time series, regions and related queries together.

How much does the Google Trends API cost?

Every Google Trends route costs one credit per completed request, shown on each endpoint page. One trending response is one request even when it returns many rows; following a cursor is a new request. meta.creditsCharged on the response is the billing source of truth, and credits never expire on pay-as-you-go packs.

Social Fetch vs the official Google Trends API

The Google Trends website shows one chart at a time, and its exports are arranged for spreadsheets. Social Fetch returns the same kinds of answers as JSON: trends[], points[], regions[], top and rising, with ISO 8601 times, numeric volume buckets, a lookup status and a cursor. One request can compare up to five terms, and the reference routes return ids you can pass straight back as parameters.

Pull your first Google Trends data.

Run a live Google Trends request in the playground. 100 free credits, no card, JSON back in seconds.

No credit cardSign up in 30 seconds withGoogleGitHub