TikTok Profile Parser

Extract a TikTok profile's bio, avatar, follower stats, and recent posts from the profile HTML.

TikTok Profile Parser icon

Overview

Send the raw HTML of a public TikTok profile page and receive normalized JSON containing profile info, stats, and recent posts.

Great for analytics, monitoring, or building creator dashboards.

Fields

  • profile: avatar, bio, display_name, username
  • stats: followers (int), following (int), likes (int)
  • content.posts[]: badge, caption, thumbnail, type, url, views (int)

JSON Response

{
  "content": {
    "posts": [
      {
        "badge": {
          "type": "string"
        },
        "caption": {
          "type": "string"
        },
        "thumbnail": {
          "type": "string"
        },
        "type": {
          "type": "string"
        },
        "url": {
          "type": "string"
        },
        "views": {
          "format": "int",
          "type": "number"
        }
      }
    ]
  },
  "profile": {
    "avatar": {
      "type": "string"
    },
    "bio": {
      "type": "string"
    },
    "display_name": {
      "type": "string"
    },
    "username": {
      "type": "string"
    }
  },
  "stats": {
    "followers": {
      "format": "int",
      "type": "number"
    },
    "following": {
      "format": "int",
      "type": "number"
    },
    "likes": {
      "format": "int",
      "type": "number"
    }
  }
}

API Call (TypeScript)

// TypeScript example: call the TikTok profile pre-built parser
// Set PARSIUM_API_KEY in your environment (e.g. .env.local)

async function run() {
  const parserName = 'tiktok-profile';
  // Provide the raw HTML of a public TikTok profile page
  const html = '<!doctype html>...';

  const res = await fetch(`https://api.parseium.com/v1/parse/${parserName}`, {
    method: 'POST',
    headers: {
      'X-API-Key': process.env.PARSIUM_API_KEY ?? '',
      'Content-Type': 'application/json',
    },
    body: JSON.stringify({ html }),
  });

  if (!res.ok) {
    throw new Error(`Request failed: ${res.status} ${res.statusText}`);
  }

  const data = await res.json();
  console.log(data);
}

run().catch(console.error);