{
  "openapi": "3.0.1",
  "info": {
    "title": "Google Trends Trending Now + Bluesky, Wikipedia & Songs",
    "description": "What is trending right now on Google Trends, Bluesky, Mastodon, Wikipedia, Hacker News and Apple Music charts (plus YouTube with your key), in one dataset. Finds topics trending on several platforms at once and flags your keywords. Official public feeds only: no logins, no proxies.",
    "version": "0.1",
    "x-build-id": "EPGkXVcyAMl0iyjS9"
  },
  "servers": [
    {
      "url": "https://api.apify.com/v2"
    }
  ],
  "paths": {
    "/acts/mortenm~social-trends-radar/run-sync-get-dataset-items": {
      "post": {
        "operationId": "run-sync-get-dataset-items-mortenm-social-trends-radar",
        "x-openai-isConsequential": false,
        "summary": "Executes an Actor, waits for its completion, and returns Actor's dataset items in response.",
        "tags": [
          "Run Actor"
        ],
        "requestBody": {
          "required": true,
          "content": {
            "application/json": {
              "schema": {
                "$ref": "#/components/schemas/inputSchema"
              }
            }
          }
        },
        "parameters": [
          {
            "name": "token",
            "in": "query",
            "required": true,
            "schema": {
              "type": "string"
            },
            "description": "Enter your Apify token here"
          }
        ],
        "responses": {
          "200": {
            "description": "OK"
          }
        }
      }
    },
    "/acts/mortenm~social-trends-radar/runs": {
      "post": {
        "operationId": "runs-sync-mortenm-social-trends-radar",
        "x-openai-isConsequential": false,
        "summary": "Executes an Actor and returns information about the initiated run in response.",
        "tags": [
          "Run Actor"
        ],
        "requestBody": {
          "required": true,
          "content": {
            "application/json": {
              "schema": {
                "$ref": "#/components/schemas/inputSchema"
              }
            }
          }
        },
        "parameters": [
          {
            "name": "token",
            "in": "query",
            "required": true,
            "schema": {
              "type": "string"
            },
            "description": "Enter your Apify token here"
          }
        ],
        "responses": {
          "200": {
            "description": "OK",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/runsResponseSchema"
                }
              }
            }
          }
        }
      }
    },
    "/acts/mortenm~social-trends-radar/run-sync": {
      "post": {
        "operationId": "run-sync-mortenm-social-trends-radar",
        "x-openai-isConsequential": false,
        "summary": "Executes an Actor, waits for completion, and returns the OUTPUT from Key-value store in response.",
        "tags": [
          "Run Actor"
        ],
        "requestBody": {
          "required": true,
          "content": {
            "application/json": {
              "schema": {
                "$ref": "#/components/schemas/inputSchema"
              }
            }
          }
        },
        "parameters": [
          {
            "name": "token",
            "in": "query",
            "required": true,
            "schema": {
              "type": "string"
            },
            "description": "Enter your Apify token here"
          }
        ],
        "responses": {
          "200": {
            "description": "OK"
          }
        }
      }
    }
  },
  "components": {
    "schemas": {
      "inputSchema": {
        "type": "object",
        "properties": {
          "sources": {
            "title": "Platforms",
            "type": "array",
            "description": "Which trend feeds to read. Google Trends, Apple Music and YouTube are read once per country; Wikipedia once per language; Mastodon once per instance (trending hashtags and links); Bluesky and Hacker News are global. YouTube needs your own API key (below). If left empty, all keyless platforms are read (plus YouTube when a key is given).",
            "items": {
              "type": "string",
              "enum": [
                "googleTrends",
                "bluesky",
                "mastodon",
                "wikipedia",
                "hackerNews",
                "appleMusic",
                "youtube"
              ],
              "enumTitles": [
                "Google Trends: trending searches (per country)",
                "Bluesky: trending topics (global)",
                "Mastodon: trending hashtags and links (per instance)",
                "Wikipedia: most read articles (per language)",
                "Hacker News: front page (global)",
                "Apple Music: trending songs (per country)",
                "YouTube: most popular videos (per country, needs your API key)"
              ]
            }
          },
          "countries": {
            "title": "Countries",
            "type": "array",
            "description": "Two-letter country codes (ISO 3166-1), e.g. US, GB, DE, NO, BR, IN. Used for Google Trends, the Apple Music chart and YouTube. Up to 10.",
            "items": {
              "type": "string"
            },
            "default": [
              "US"
            ]
          },
          "maxItemsPerFeed": {
            "title": "Max items per feed",
            "minimum": 1,
            "maximum": 50,
            "type": "integer",
            "description": "Top N items from each feed (each platform × country / language / instance). Some platforms publish fewer: Bluesky up to 25, Mastodon up to 20, Google Trends usually 10-20 per country.",
            "default": 20
          },
          "watchKeywords": {
            "title": "Watch keywords (optional)",
            "type": "array",
            "description": "Words or phrases to flag, e.g. your brand, products or topics. Matching is whole-word and ignores case and accents (\"AI\" does not match \"said\"). Each item lists the keywords it matched, and the summary lists all hits.",
            "items": {
              "type": "string"
            }
          },
          "onlyKeywordMatches": {
            "title": "Only return items that match a keyword",
            "type": "boolean",
            "description": "When on, only trending items that match at least one watch keyword are delivered and charged. Useful for alerts on a schedule.",
            "default": false
          },
          "wikipediaLanguages": {
            "title": "Wikipedia languages",
            "type": "array",
            "description": "Wikipedia language editions for the most-read list, e.g. en, de, fr, es, ja, no. Up to 5.",
            "items": {
              "type": "string"
            },
            "default": [
              "en"
            ]
          },
          "mastodonInstances": {
            "title": "Mastodon instances",
            "type": "array",
            "description": "Mastodon server hostnames whose public trends are read, e.g. mastodon.social, fosstodon.org, mstdn.social. Plain hostnames only. Up to 5.",
            "items": {
              "type": "string"
            },
            "default": [
              "mastodon.social"
            ]
          },
          "youtubeApiKey": {
            "title": "YouTube Data API key (optional)",
            "type": "string",
            "description": "Your own YouTube Data API v3 key, needed only for the YouTube source. It is stored encrypted by Apify, sent only to googleapis.com and never written to the output or logs. The YouTube API quota is yours (one request per country per run)."
          }
        }
      },
      "runsResponseSchema": {
        "type": "object",
        "properties": {
          "data": {
            "type": "object",
            "properties": {
              "id": {
                "type": "string"
              },
              "actId": {
                "type": "string"
              },
              "userId": {
                "type": "string"
              },
              "startedAt": {
                "type": "string",
                "format": "date-time",
                "example": "2025-01-08T00:00:00.000Z"
              },
              "finishedAt": {
                "type": "string",
                "format": "date-time",
                "example": "2025-01-08T00:00:00.000Z"
              },
              "status": {
                "type": "string",
                "example": "READY"
              },
              "meta": {
                "type": "object",
                "properties": {
                  "origin": {
                    "type": "string",
                    "example": "API"
                  },
                  "userAgent": {
                    "type": "string"
                  }
                }
              },
              "stats": {
                "type": "object",
                "properties": {
                  "inputBodyLen": {
                    "type": "integer",
                    "example": 2000
                  },
                  "rebootCount": {
                    "type": "integer",
                    "example": 0
                  },
                  "restartCount": {
                    "type": "integer",
                    "example": 0
                  },
                  "resurrectCount": {
                    "type": "integer",
                    "example": 0
                  },
                  "computeUnits": {
                    "type": "integer",
                    "example": 0
                  }
                }
              },
              "options": {
                "type": "object",
                "properties": {
                  "build": {
                    "type": "string",
                    "example": "latest"
                  },
                  "timeoutSecs": {
                    "type": "integer",
                    "example": 300
                  },
                  "memoryMbytes": {
                    "type": "integer",
                    "example": 1024
                  },
                  "diskMbytes": {
                    "type": "integer",
                    "example": 2048
                  }
                }
              },
              "buildId": {
                "type": "string"
              },
              "defaultKeyValueStoreId": {
                "type": "string"
              },
              "defaultDatasetId": {
                "type": "string"
              },
              "defaultRequestQueueId": {
                "type": "string"
              },
              "buildNumber": {
                "type": "string",
                "example": "1.0.0"
              },
              "containerUrl": {
                "type": "string"
              },
              "usage": {
                "type": "object",
                "properties": {
                  "ACTOR_COMPUTE_UNITS": {
                    "type": "integer",
                    "example": 0
                  },
                  "DATASET_READS": {
                    "type": "integer",
                    "example": 0
                  },
                  "DATASET_WRITES": {
                    "type": "integer",
                    "example": 0
                  },
                  "KEY_VALUE_STORE_READS": {
                    "type": "integer",
                    "example": 0
                  },
                  "KEY_VALUE_STORE_WRITES": {
                    "type": "integer",
                    "example": 1
                  },
                  "KEY_VALUE_STORE_LISTS": {
                    "type": "integer",
                    "example": 0
                  },
                  "REQUEST_QUEUE_READS": {
                    "type": "integer",
                    "example": 0
                  },
                  "REQUEST_QUEUE_WRITES": {
                    "type": "integer",
                    "example": 0
                  },
                  "DATA_TRANSFER_INTERNAL_GBYTES": {
                    "type": "integer",
                    "example": 0
                  },
                  "DATA_TRANSFER_EXTERNAL_GBYTES": {
                    "type": "integer",
                    "example": 0
                  },
                  "PROXY_RESIDENTIAL_TRANSFER_GBYTES": {
                    "type": "integer",
                    "example": 0
                  },
                  "PROXY_SERPS": {
                    "type": "integer",
                    "example": 0
                  },
                  "PROXY_UNBLOCKER_UNITS": {
                    "type": "integer",
                    "example": 0
                  }
                }
              },
              "usageTotalUsd": {
                "type": "number",
                "example": 0.00005
              },
              "usageUsd": {
                "type": "object",
                "properties": {
                  "ACTOR_COMPUTE_UNITS": {
                    "type": "integer",
                    "example": 0
                  },
                  "DATASET_READS": {
                    "type": "integer",
                    "example": 0
                  },
                  "DATASET_WRITES": {
                    "type": "integer",
                    "example": 0
                  },
                  "KEY_VALUE_STORE_READS": {
                    "type": "integer",
                    "example": 0
                  },
                  "KEY_VALUE_STORE_WRITES": {
                    "type": "number",
                    "example": 0.00005
                  },
                  "KEY_VALUE_STORE_LISTS": {
                    "type": "integer",
                    "example": 0
                  },
                  "REQUEST_QUEUE_READS": {
                    "type": "integer",
                    "example": 0
                  },
                  "REQUEST_QUEUE_WRITES": {
                    "type": "integer",
                    "example": 0
                  },
                  "DATA_TRANSFER_INTERNAL_GBYTES": {
                    "type": "integer",
                    "example": 0
                  },
                  "DATA_TRANSFER_EXTERNAL_GBYTES": {
                    "type": "integer",
                    "example": 0
                  },
                  "PROXY_RESIDENTIAL_TRANSFER_GBYTES": {
                    "type": "integer",
                    "example": 0
                  },
                  "PROXY_SERPS": {
                    "type": "integer",
                    "example": 0
                  },
                  "PROXY_UNBLOCKER_UNITS": {
                    "type": "integer",
                    "example": 0
                  }
                }
              }
            }
          }
        }
      }
    }
  }
}