{
  "openapi": "3.0.1",
  "info": {
    "title": "Social Blade Scraper - Creator Stats, Ranks, History & Earnings",
    "description": "Scrape Social Blade stats for YouTube, TikTok, Instagram, Twitch and Facebook creators: grade, ranks, subscribers, views, 15-day daily history, estimated earnings, projections, milestones and top lists. No login or API key. From $1.60 per 1,000 creators, no start fee.",
    "version": "0.1",
    "x-build-id": "JHaCXejZJIJpZgz2K"
  },
  "servers": [
    {
      "url": "https://api.apify.com/v2"
    }
  ],
  "paths": {
    "/acts/topapi~socialblade-scraper/run-sync-get-dataset-items": {
      "post": {
        "operationId": "run-sync-get-dataset-items-topapi-socialblade-scraper",
        "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/topapi~socialblade-scraper/runs": {
      "post": {
        "operationId": "runs-sync-topapi-socialblade-scraper",
        "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/topapi~socialblade-scraper/run-sync": {
      "post": {
        "operationId": "run-sync-topapi-socialblade-scraper",
        "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": {
          "profiles": {
            "title": "Creators",
            "type": "array",
            "description": "Creators to look up: Social Blade links, YouTube / TikTok / Instagram / Twitch / Facebook links, \"platform:handle\" (e.g. \"tiktok:khaby.lame\"), @handles or YouTube channel ids. Bare handles use the platform below.",
            "items": {
              "type": "string"
            }
          },
          "platform": {
            "title": "Platform for bare handles",
            "enum": [
              "youtube",
              "tiktok",
              "instagram",
              "twitch",
              "facebook",
              "all"
            ],
            "type": "string",
            "description": "Platform of a creator given without a link or prefix (\"mrbeast\"), and of the search terms. \"All platforms\" looks a bare handle up on all five.",
            "default": "youtube"
          },
          "searchQueries": {
            "title": "Search terms",
            "type": "array",
            "description": "Names to look up in Social Blade's own search (e.g. \"veritasium\", \"cooking\"); each match becomes a full creator row.",
            "items": {
              "type": "string"
            }
          },
          "resultsPerQuery": {
            "title": "Results per search term",
            "minimum": 1,
            "maximum": 25,
            "type": "integer",
            "description": "Creators taken from each search (Social Blade returns up to 25 on YouTube and 5 elsewhere).",
            "default": 5
          },
          "rankingPlatform": {
            "title": "Ranking platform",
            "enum": [
              "",
              "youtube",
              "tiktok",
              "instagram",
              "twitch",
              "facebook"
            ],
            "type": "string",
            "description": "Pull one of Social Blade's rankings (top 100 lists). Leave on \"No ranking\" to skip.",
            "default": ""
          },
          "rankingType": {
            "title": "Ranking type",
            "enum": [
              "top",
              "growth",
              "decline"
            ],
            "type": "string",
            "description": "Top = biggest by the metric; Growth / Decline = most gained or lost over the period below.",
            "default": "top"
          },
          "rankingMetric": {
            "title": "Ranked by",
            "enum": [
              "",
              "subscribers",
              "views",
              "videos",
              "followers",
              "likes",
              "posts",
              "talking_about"
            ],
            "type": "string",
            "description": "YouTube: subscribers, views, videos · TikTok: followers, likes · Instagram: followers, posts · Twitch: followers · Facebook: likes, talking about. Empty = the platform's audience.",
            "default": ""
          },
          "rankingCategory": {
            "title": "Category (YouTube top lists)",
            "enum": [
              "all",
              "animals",
              "autos",
              "comedy",
              "education",
              "entertainment",
              "film",
              "games",
              "howto",
              "music",
              "news",
              "nonprofit",
              "people",
              "sports",
              "tech",
              "travel"
            ],
            "type": "string",
            "description": "YouTube channel category for a top list.",
            "default": "all"
          },
          "rankingCountry": {
            "title": "Country (YouTube top lists)",
            "type": "string",
            "description": "Two-letter country code (e.g. \"US\", \"IN\", \"BR\") or \"global\".",
            "default": "global"
          },
          "rankingPeriod": {
            "title": "Period (growth / decline)",
            "enum": [
              "1",
              "3"
            ],
            "type": "string",
            "description": "Days the gain or loss is measured over (Social Blade serves 1 and 3 days to visitors without an account).",
            "default": "3"
          },
          "rankingLimit": {
            "title": "Ranking size",
            "minimum": 1,
            "maximum": 100,
            "type": "integer",
            "description": "How many creators of the ranking to deliver (Social Blade serves up to 100).",
            "default": 100
          },
          "rankingMadeForKids": {
            "title": "Made-for-kids channels (YouTube top lists)",
            "enum": [
              "any",
              "hide",
              "only"
            ],
            "type": "string",
            "description": "Social Blade's own made-for-kids filter on a YouTube top list.",
            "default": "any"
          },
          "listUrls": {
            "title": "Ranking links",
            "type": "array",
            "description": "Social Blade ranking pages to read as they are, e.g. https://socialblade.com/youtube/lists/top/100/subscribers/games/US.",
            "items": {
              "type": "string"
            }
          },
          "enrichRankings": {
            "title": "Full profile for every ranked creator",
            "type": "boolean",
            "description": "Open each ranked creator's page for grade, ranks, history, earnings and projections (one page per creator; same price per row).",
            "default": false
          },
          "includeHistory": {
            "title": "Daily history table",
            "type": "boolean",
            "description": "The day-by-day table (totals and daily gains) Social Blade shows without an account: the last 15 days. Not available for Instagram.",
            "default": true
          },
          "historyDays": {
            "title": "Days of history",
            "minimum": 1,
            "maximum": 15,
            "type": "integer",
            "description": "Most recent days kept in the table (1-15). Growth windows always use every served day.",
            "default": 15
          },
          "historySince": {
            "title": "History since",
            "type": "string",
            "description": "Keep only days on or after this date in the table (YYYY-MM-DD), e.g. the day of your last scheduled run."
          },
          "includeEarnings": {
            "title": "Estimated earnings (YouTube)",
            "type": "boolean",
            "description": "Social Blade's own formula: views gained / 1,000 x a CPM range ($0.25 - $4 by default), daily and for week, month, quarter, half year and year.",
            "default": true
          },
          "earningsCurrency": {
            "title": "Earnings currency",
            "type": "string",
            "description": "Three-letter code (e.g. USD, EUR, GBP, INR), converted with the exchange rates Social Blade's page carries.",
            "default": "USD"
          },
          "cpmMinUsd": {
            "title": "CPM low (USD)",
            "minimum": 0,
            "maximum": 100,
            "type": "number",
            "description": "Low end of the revenue per 1,000 views (Social Blade's default 0.25).",
            "default": 0.25
          },
          "cpmMaxUsd": {
            "title": "CPM high (USD)",
            "minimum": 0,
            "maximum": 100,
            "type": "number",
            "description": "High end of the revenue per 1,000 views (Social Blade's default 4).",
            "default": 4
          },
          "includeProjections": {
            "title": "Projections",
            "type": "boolean",
            "description": "Audience, views and uploads in 30 days to 5 years, plus the next round-number milestone date, from the average daily gain of the served days.",
            "default": true
          },
          "includeMilestones": {
            "title": "Milestones (YouTube, $0.0008 each)",
            "type": "boolean",
            "description": "Add the date each subscriber, view and upload milestone was reached and the first day Social Blade tracked the channel (one more page per channel). Charged only when delivered.",
            "default": false
          },
          "minAudience": {
            "title": "Minimum audience",
            "minimum": 0,
            "type": "integer",
            "description": "Skip creators with fewer subscribers (YouTube), followers (TikTok, Instagram, Twitch) or page likes (Facebook)."
          },
          "maxAudience": {
            "title": "Maximum audience",
            "minimum": 0,
            "type": "integer",
            "description": "Skip creators above this audience (e.g. 1000000 for micro-influencers)."
          },
          "minGrade": {
            "title": "Minimum Social Blade grade",
            "enum": [
              "",
              "A++",
              "A+",
              "A",
              "A-",
              "B+",
              "B",
              "B-",
              "C+",
              "C",
              "C-"
            ],
            "type": "string",
            "description": "Keep creators graded at least this (A++ is the best). Ranking rows carry no grade unless full profiles are on.",
            "default": ""
          },
          "countries": {
            "title": "Countries",
            "type": "array",
            "description": "Keep only creators from these countries (two-letter codes, e.g. US, GB). YouTube only - other platforms carry no country.",
            "items": {
              "type": "string"
            }
          },
          "categories": {
            "title": "Categories",
            "type": "array",
            "description": "Keep only YouTube channels of these categories (e.g. games, music, education, tech).",
            "items": {
              "type": "string"
            }
          },
          "verifiedOnly": {
            "title": "Verified only",
            "type": "boolean",
            "description": "Keep only creators Social Blade marks verified (TikTok, Twitch, Facebook).",
            "default": false
          },
          "madeForKids": {
            "title": "Made-for-kids channels",
            "enum": [
              "any",
              "hide",
              "only"
            ],
            "type": "string",
            "description": "Keep, drop or keep only YouTube channels marked made for kids.",
            "default": "any"
          },
          "monitorMode": {
            "title": "Only new or updated creators",
            "type": "boolean",
            "description": "Deliver a creator only when Social Blade has a newer day (or new totals) than your last run delivered; rows carry the change since then. Pairs with a daily schedule.",
            "default": false
          },
          "monitorOutput": {
            "title": "Monitor output",
            "enum": [
              "changes",
              "new",
              "all"
            ],
            "type": "string",
            "description": "What a monitor run delivers.",
            "default": "changes"
          },
          "monitorStoreName": {
            "title": "Monitor store name",
            "type": "string",
            "description": "Named key-value store that remembers what was delivered. Use one name per watch list.",
            "default": "socialblade-monitor"
          },
          "maxItems": {
            "title": "Max rows",
            "minimum": 0,
            "type": "integer",
            "description": "Most creator rows to deliver (profiles + ranking rows). 0 = no limit.",
            "default": 100
          },
          "compact": {
            "title": "Compact rows",
            "type": "boolean",
            "description": "Core columns only (name, grade, audience, views, rank, gain per day, earnings) - handy for AI agents and spreadsheets.",
            "default": false
          },
          "proxyConfiguration": {
            "title": "Proxy",
            "type": "object",
            "description": "Optional. The actor already falls back from its own address to Apify datacenter and residential exits when Social Blade refuses one; set a proxy here to use yours first.",
            "default": {
              "useApifyProxy": false
            }
          },
          "maxConcurrency": {
            "title": "Max concurrency",
            "minimum": 1,
            "maximum": 10,
            "type": "integer",
            "description": "Pages read at the same time.",
            "default": 4
          }
        }
      },
      "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
                  }
                }
              }
            }
          }
        }
      }
    }
  }
}