{
  "openapi": "3.0.1",
  "info": {
    "title": "Likee Scraper - Videos, Views, Creators & Trending Hashtags",
    "description": "Scrape Likee (likee.video) without login: every video of a profile with exact views, likes, comments, shares and engagement rate, video by link, featured creators and trending hashtags by country, Creators mode with median views per profile, only new videos on a schedule. US$ 4 per 1,000.",
    "version": "0.1",
    "x-build-id": "ZnNXeyzAx7NbjUccs"
  },
  "servers": [
    {
      "url": "https://api.apify.com/v2"
    }
  ],
  "paths": {
    "/acts/scrapewise~likee-scraper/run-sync-get-dataset-items": {
      "post": {
        "operationId": "run-sync-get-dataset-items-scrapewise-likee-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/scrapewise~likee-scraper/runs": {
      "post": {
        "operationId": "runs-sync-scrapewise-likee-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/scrapewise~likee-scraper/run-sync": {
      "post": {
        "operationId": "run-sync-scrapewise-likee-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": "Profiles",
            "type": "array",
            "description": "Likee creators, one per line: profile link (https://likee.video/@troomhands), handle with or without @ (troomhands, @troomhands) or numeric uid. Each profile returns its videos, newest first (or most viewed first with 'Sort by: Most viewed'), with views, likes, comments, shares, music, hashtags and links. Each row is charged once as 'Result delivered'.",
            "items": {
              "type": "string"
            }
          },
          "videoUrls": {
            "title": "Video links",
            "type": "array",
            "description": "Likee video links, one per line, in the form https://likee.video/@handle/video/<id>. The Actor finds each video in its creator's profile and returns it with its stats.",
            "items": {
              "type": "string"
            }
          },
          "countries": {
            "title": "Featured creators by country",
            "type": "array",
            "description": "Two-letter country codes, one per line, for example US, ID, RU, IN or BR. For each country the Actor takes the creators Likee features there and returns their videos, or one row per creator in 'Creators' mode. Countries without their own list return Likee's default list (flagged as featuredListIsDefault).",
            "items": {
              "type": "string"
            }
          },
          "maxCreatorsPerCountry": {
            "title": "Max creators per country",
            "minimum": 0,
            "maximum": 100,
            "type": "integer",
            "description": "How many featured creators to take from each country, in Likee's order, from 0 to 100. Empty = 20. 0 = no creators (only the trending hashtags, if turned on)."
          },
          "includeTrendingHashtags": {
            "title": "Trending hashtags by country",
            "type": "boolean",
            "description": "Off (default). On: adds one row per trending hashtag in each country above (or in the US when no country is set) with hashtag name, total views and number of posts. Likee shows 1 to 50 per country (in tests: US 8, Indonesia 1, Russia 50). Each hashtag row is charged like a video."
          },
          "resultType": {
            "title": "What to return",
            "enum": [
              "videos",
              "creators"
            ],
            "type": "string",
            "description": "Videos (default): one row per video with its stats. Creators: one row per profile with followers, total likes, verified badge, plus averages and medians over its latest videos (views, likes, engagement rate, posts per week, best video), good for influencer shortlists. Same price per row.",
            "default": "videos"
          },
          "maxVideosPerProfile": {
            "title": "Max videos per profile",
            "minimum": 0,
            "type": "integer",
            "description": "Videos returned per profile, for example 20; in 'Creators' mode, the number of latest videos used for the averages. Empty = 50 (30 in 'Creators' mode, and no cap per profile when 'Max items' is set). 0 = all videos of the profile."
          },
          "maxItems": {
            "title": "Max items (whole run)",
            "minimum": 0,
            "type": "integer",
            "description": "Stop after this many rows in the whole run, across all profiles, links and countries, for example 200. Empty or 0 = no total limit. You pay per row delivered, so this is your cost cap."
          },
          "sortBy": {
            "title": "Sort by",
            "enum": [
              "latest",
              "popular"
            ],
            "type": "string",
            "description": "Latest first (default, Likee's order): reads each profile from the newest video back. Most viewed first: reads up to 3,000 videos of each profile and returns the most viewed first; slower, same price per row.",
            "default": "latest"
          },
          "publishedAfter": {
            "title": "Only videos published after",
            "type": "string",
            "description": "Only videos newer than this date (YYYY-MM-DD, for example 2026-09-01) or relative period (7 days, 2 weeks). Use it to collect only new videos on a schedule. With 'Latest first', the Actor stops reading a profile once it passes this date."
          },
          "publishedBefore": {
            "title": "Only videos published before",
            "type": "string",
            "description": "Only videos older than this date (YYYY-MM-DD) or relative period, for example 30 days. Empty = up to today."
          },
          "minViews": {
            "title": "Min views",
            "minimum": 0,
            "type": "integer",
            "description": "Skip videos with fewer views than this, for example 10000. Skipped videos are not charged. Empty = no minimum."
          },
          "minLikes": {
            "title": "Min likes",
            "minimum": 0,
            "type": "integer",
            "description": "Skip videos with fewer likes than this, for example 500. Skipped videos are not charged."
          },
          "minComments": {
            "title": "Min comments",
            "minimum": 0,
            "type": "integer",
            "description": "Skip videos with fewer comments than this, for example 20. Skipped videos are not charged."
          },
          "minShares": {
            "title": "Min shares",
            "minimum": 0,
            "type": "integer",
            "description": "Skip videos with fewer shares than this, for example 10. Skipped videos are not charged."
          },
          "minEngagementRate": {
            "title": "Min engagement rate (%)",
            "minimum": 0,
            "type": "number",
            "description": "Skip videos below this engagement rate, in percent, for example 5: (likes + comments + shares) / views x 100. Skipped videos are not charged."
          },
          "minFollowers": {
            "title": "Min followers",
            "minimum": 0,
            "type": "integer",
            "description": "Skip creators with fewer followers than this, for example 100000; useful with featured creators by country. Skipped creators are not charged."
          },
          "onlyNewVideos": {
            "title": "Only new videos since the last run",
            "type": "boolean",
            "description": "For daily schedules. Remembers which videos of each profile were already delivered (in a named key-value store in your account, 'likee-scraper-only-new') and stops reading a profile at the first one you already have. Skipped videos are not charged. Forces the 'Latest first' order; ignored in Creators mode. Delete the store to start over.",
            "default": false
          },
          "proxyConfiguration": {
            "title": "Proxy",
            "type": "object",
            "description": "Apify datacenter proxy is the default and works for Likee. Failed requests are retried. Change it only to use your own proxies.",
            "default": {
              "useApifyProxy": true
            }
          }
        }
      },
      "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
                  }
                }
              }
            }
          }
        }
      }
    }
  }
}