Instagram Profile Parser

Extract profile details, follower stats, and recent posts from a public Instagram profile HTML.

Instagram Profile Parser icon

Overview

This pre-built parser turns Instagram profile HTML into a clean JSON payload including profile info, follower counts, and a grid of recent posts.

Send the raw HTML of a profile page and receive a normalized response matching the schema below.

Fields

  • profile: avatar, bio, display_name, username, website, website_text
  • stats: followers, following, posts (integers)
  • content.posts[]: alt, image, url for recent grid items

JSON Response

{
  "content": {
    "posts": [
      {
        "alt": "string",
        "image": "string",
        "url": "string"
      }
    ]
  },
  "profile": {
    "avatar": "string",
    "bio": "string",
    "display_name": "string",
    "username": "string",
    "website": "string",
    "website_text": "string"
  },
  "stats": {
    "followers": "number",
    "following": "number",
    "posts": "number"
  }
}

API Call (TypeScript)

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

async function run() {
  const parserName = 'instagram-profile';
  // Provide the raw HTML of a public Instagram 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);