GUNSHIGPT

GUNSHIGPT · GPT-Aktionen

Tiktok Profile Scraper

Extract data from TikTok profiles and videos they post. Get TikTok profile data, URLs, numbers of shares, followers, comments, hearts, video and music metadata. Export scraped data, run the scraper via API, schedule and monitor runs or integrate with other tools.

  • POST /acts/clockworks~tiktok-profile-scraper/run-sync-get-dataset-items?clean=true&format=json&fields=authorMeta.avatar,authorMeta.name,text,diggCount,shareCount,playCount,commentCount,videoMeta.duration,musicMeta.musicName,musicMeta.musicAuthor,musicMeta.musicOriginal,createTimeISO,webVideoUrlExtract data from TikTok profiles and videos they post. Get TikTok profile data, URLs, numbers of shares, followers, comments, hearts, video and music metadata. Export scraped data, run the scraper via API, schedule and monitor runs or integrate with other tools.
Ursprüngliches API-Schema
{
  "openapi": "3.0.1",
  "info": {
    "title": "Tiktok Profile Scraper",
    "description": "Extract data from TikTok profiles and videos they post. Get TikTok profile data, URLs, numbers of shares, followers, comments, hearts, video and music metadata. Export scraped data, run the scraper via API, schedule and monitor runs or integrate with other tools.",
    "version": "v1"
  },
  "servers": [
    {
      "url": "https://api.apify.com/v2"
    }
  ],
  "paths": {
    "/acts/clockworks~tiktok-profile-scraper/run-sync-get-dataset-items?clean=true&format=json&fields=authorMeta.avatar,authorMeta.name,text,diggCount,shareCount,playCount,commentCount,videoMeta.duration,musicMeta.musicName,musicMeta.musicAuthor,musicMeta.musicOriginal,createTimeISO,webVideoUrl": {
      "post": {
        "operationId": "clockworks_tiktok-profile-scraper",
        "x-openai-isConsequential": false,
        "summary": "Extract data from TikTok profiles and videos they post. Get TikTok profile data, URLs, numbers of shares, followers, comments, hearts, video and music metadata. Export scraped data, run the scraper via API, schedule and monitor runs or integrate with other tools.",
        "requestBody": {
          "required": true,
          "content": {
            "application/json": {
              "schema": {
                "$ref": "#/components/schemas/inputSchema"
              }
            }
          }
        },
        "responses": {
          "200": {
            "description": "OK"
          }
        }
      }
    }
  },
  "components": {
    "schemas": {
      "inputSchema": {
        "type": "object",
        "required": [
          "profiles"
        ],
        "properties": {
          "enableCheerioBoost": {
            "title": "[EXPERIMENTAL!] Bost profile scraping",
            "type": "boolean",
            "description": "If you find that scraping profiles has become too slow, try this option out. Its con is that TikTok might suddenly change their website and this way of scraping will likely start failing then. Under the hood it uses API requests as opposed to launching a full-blown browser simulation.",
            "default": false
          },
          "profiles": {
            "title": "Profile(s)",
            "type": "array",
            "description": "Add the name of user you want to scrape.",
            "items": {
              "type": "string"
            }
          },
          "resultsPerPage": {
            "title": "Max posts per profile (faster if 30 or lower)",
            "minimum": 1,
            "type": "integer",
            "description": "The number of posts that will be scraped from every profile. If set to 30 or lower, the scraper can utilize faster method of scraping that doesn't require scrolling.",
            "default": 100
          },
          "oldestPostDate": {
            "title": "Posts newer than (e.g. 2023-06-15)",
            "type": "string",
            "description": "Works only from profiles, not hashtags. Only posts uploaded after or on this date will be scraped."
          },
          "scrapeLastNDays": {
            "title": "Posts from last (e.g. 2) days ",
            "minimum": 0,
            "type": "integer",
            "description": "Works only from profiles, not hashtags. Specify how old scraped posts can be (in days). Putting <code>1</code> will get you only today's posts, <code>2</code> - tomorrow's and today's, and so on. If the <code>Post newer than</code> field was set, the most recent post will be chosen."
          },
          "shouldDownloadVideos": {
            "title": "Should download videos",
            "type": "boolean",
            "description": "Whether to download TikTok video files. Note that this will increase time required for the scrape",
            "default": false
          },
          "shouldDownloadCovers": {
            "title": "Should download video covers (thumbnails)",
            "type": "boolean",
            "description": "Whether to download TikTok video cover images (i.e. thumbnails). Note that this will increase time required for the scrape",
            "default": false
          },
          "shouldDownloadSlideshowImages": {
            "title": "Should download slideshow images",
            "type": "boolean",
            "description": "Whether to download TikTok slideshow images. Note that this will increase costs and time required for the scrape",
            "default": false
          },
          "videoKvStoreIdOrName": {
            "title": "Video Download Key-Value Store ID or Name",
            "pattern": "^[a-zA-Z0-9-]+$",
            "type": "string",
            "description": "Name (or ID) of the Key Value Store where the videos and other media like thumbnails will be stored. Omit to store in the default one. Using this option will provide a named Key-Value store can help bypass data retention and store the content forever until the store is manually deleted.<br><br>The Key-Value store's name can consist of a versatile combination of uppercase letters, lowercase letters, digits, or hyphens, all without any spaces."
          },
          "disableEnrichAuthorStats": {
            "title": "Disable querying author stats if missing",
            "type": "boolean",
            "description": "Sometimes Tiktok's API will not return author stats (their hearts, follower count etc) for profile/hashtag/sound pages, so an additional query will be needed. This will slow the scraper down",
            "default": false
          },
          "disableCheerioBoost": {
            "title": "Disable boosting with cheerio for small result count",
            "type": "boolean",
            "description": "If the requested number of posts is small, the Cheerio crawler (much faster) will be used. If for some reason you need to disable this, turn on this option",
            "default": false
          }
        }
      }
    }
  }
}