# Trend

Schemas

What is trending on a platform: the searches or topics rising there, in the platform's rank order, with how they move.

## Endpoints

1 endpoint returns trends on Pinterest.

- [GETPinterest Trends API`/v1/pinterest/top_trends`](https://socialtap.dev/docs/reference/pinterest/top_trends/index.md)

## Schema

Every endpoint above returns an array of these objects as `data`, with a [`page`](https://socialtap.dev/docs/pagination/index.md) object. The standard [`meta`](https://socialtap.dev/docs/reference/index.md#meta) comes with every response.

| Field | Type | Description |
| --- | --- | --- |
| `platform` | `string` | Platform ID (pinterest, google, bluesky, …). |
| `term` | `string` | The trend's words as the platform shows them, whitespace-trimmed: a search term (Pinterest, Google and Instagram, usually lowercase: pass it as query to the platform's search endpoints) or a topic's headline (Bluesky). |
| `url` | `string` (uri) | The trend's public page on the platform: its trend page where one answers logged out (Google Trends' explore page, Instagram's page for the term, Bluesky's feed of the topic's posts), else the platform's search results for it (Pinterest). |
| `rank` | `integer` or `null` | Position on the requested board, 1 = top; null when the answer is not a board. |
| `categories` | `string[]` | Categories the platform files the trend under, as shown (not normalized), the main one first; \[\] when none (listed in unknown_fields when the source cannot see them). |
| `thumbnail_url` | `string` (uri) or `null` | A picture the platform shows beside the trend (a Pin's on Pinterest, a news article's on Google, a post's on Instagram); null when none or not read. Platform CDN URLs can expire. |
| `platform_specific` | `object` | Fields only this platform has, under its ID (platform_specific.\<platform>); each null when unknown. |
| `platform_specific.google` | `object` or `null` | A Google Trends trend's own fields. |
| `platform_specific.google.country_code` | `string` or `null` | ISO 3166-1 alpha-2 country whose searches the trend counts; null for a worldwide board. |
| `platform_specific.google.growth` | `number` or `null` | How much the term's searches rose since it started trending, a fraction (1 = +100 %), in Google's steps; Google caps it at 10 (+1,000 %), a lower bound then (listed in approximate_fields). |
| `platform_specific.google.started_at` | `string` (date-time) or `null` | When the term started trending, RFC 3339 UTC. |
| `platform_specific.google.ended_at` | `string` (date-time) or `null` | When it stopped trending, RFC 3339 UTC; null while it is active (is_active) or when unknown. |
| `platform_specific.google.is_active` | `boolean` or `null` | Still trending: Google shows it as active (ended_at is null). |
| `platform_specific.google.related_searches` | `string[]` | Other searches Google groups under the trend, in its order (the term itself left out); each a term of its own. \[\] when none. |
| `platform_specific.google.metrics` | `object` | Google's counts for the trend; null = not shown. |
| `platform_specific.google.metrics.search_count` | `integer` or `null` | Searches for the term in the board's window, as the lower bound of Google's volume bucket (500 for "500+"), always approximate. |
| `platform_specific.google.history` | `object[]` | How much the term was searched over time, oldest first, each interval relative to the series' peak (1); \[\] on a board, which does not read the series (listed in unknown_fields): a trend's own endpoint fills it. |
| `platform_specific.google.history[].start_at` | `string` (date-time) | Start of the interval (a week on Pinterest), RFC 3339 UTC. |
| `platform_specific.google.history[].end_at` | `string` (date-time) | End of the interval, exclusive (the next interval's start_at), RFC 3339 UTC. |
| `platform_specific.google.history[].popularity` | `number` | Searches in the interval relative to the series' peak, 0 to 1 (1 = the peak), as the platform scales them. |
| `platform_specific.pinterest` | `object` or `null` | A Pinterest Trends trend's own fields. |
| `platform_specific.pinterest.country_code` | `string` or `null` | ISO 3166-1 alpha-2 country whose searches the figures count (Pinterest counts some countries together: the endpoint's notes say which). |
| `platform_specific.pinterest.market_country_codes` | `string[]` | Every country whose searches the figures count together, as ISO 3166-1 alpha-2 codes: \["US"\] for a country Pinterest publishes a board for on its own, its group's (\["GB", "IE"\] for IE) for one Pinterest counts with others. \[\] when unknown. |
| `platform_specific.pinterest.search_index` | `integer` or `null` | How much the term is searched in the table's period, relative to the table's most searched term (100). |
| `platform_specific.pinterest.weekly_change` | `number` or `null` | Change in the term's searches over the past week, a fraction (0.3 = +30 %, -0.5 = -50 %), rounded by Pinterest to one or two significant digits (always listed in approximate_fields); capped at 100 (+10,000 %), a lower bound then. |
| `platform_specific.pinterest.monthly_change` | `number` or `null` | Change over the past month, a fraction like weekly_change, rounded by Pinterest the same way (always listed in approximate_fields); capped at 100, a lower bound then. |
| `platform_specific.pinterest.yearly_change` | `number` or `null` | Change against the same time last year, a fraction like weekly_change, rounded by Pinterest the same way (always listed in approximate_fields); capped at 100, a lower bound then. |
| `platform_specific.pinterest.seasonality` | `number` or `null` | How seasonal the term is, 0 to 1 (1 = searched at the same time every year), as Pinterest scores it. |
| `platform_specific.pinterest.period_end_at` | `string` (date-time) or `null` | End of the period Pinterest's figures count, exclusive (midnight UTC after its weekly data's last day), RFC 3339 UTC: Pinterest publishes weekly, a few days behind. |
| `platform_specific.pinterest.history` | `object[]` | How much the term was searched each week, oldest first, relative to the series' peak (1); \[\] on a board that does not request the series (listed in unknown_fields). |
| `platform_specific.pinterest.history[].start_at` | `string` (date-time) | Start of the interval (a week on Pinterest), RFC 3339 UTC. |
| `platform_specific.pinterest.history[].end_at` | `string` (date-time) | End of the interval, exclusive (the next interval's start_at), RFC 3339 UTC. |
| `platform_specific.pinterest.history[].popularity` | `number` | Searches in the interval relative to the series' peak, 0 to 1 (1 = the peak), as the platform scales them. |
| `approximate_fields` | `string[]` | JSON paths of values rounded, bucketed or capped by the platform (Google's search volume bucket, Pinterest's rounded changes). \[\] when all exact. |
| `unknown_fields` | `string[]` | JSON paths of lists whose \[\] means unknown rather than none (a source that cannot see them, such as a board's history); null already means unknown for every other field. \[\] when every list is known. |

---

[HTML version](https://socialtap.dev/resources/trend/) · [Docs index for AI agents](https://socialtap.dev/llms.txt) · [All docs in one file](https://socialtap.dev/llms-full.txt)
