GitHub Profile Parser

Extract GitHub profile details, organizations, pinned repositories, and contribution stats from a profile page HTML.

GitHub Profile Parser icon

Overview

Send the raw HTML of a public GitHub profile page and receive normalized JSON including profile info, organizations, pinned repositories, and stats.

Ideal for portfolio builders, analytics, and profile enrichment.

Fields

  • profile: avatar, bio, display_name, username, social[]
  • content.organizations[]: avatar, name, url
  • content.pinned_repositories[]: name, owner, description, language, stars (int), forks (int), url
  • stats: followers (int), following (int), repositories_count (int), stars_count (int), contributions_last_year (int)

JSON Response

{
  "content": {
    "organizations": [
      {
        "avatar": {
          "type": "string"
        },
        "name": {
          "type": "string"
        },
        "url": {
          "type": "string"
        }
      }
    ],
    "pinned_repositories": [
      {
        "description": {
          "type": "string"
        },
        "forks": {
          "format": "int",
          "type": "number"
        },
        "language": {
          "type": "string"
        },
        "name": {
          "type": "string"
        },
        "owner": {
          "type": "string"
        },
        "stars": {
          "format": "int",
          "type": "number"
        },
        "url": {
          "type": "string"
        }
      }
    ]
  },
  "profile": {
    "avatar": {
      "type": "string"
    },
    "bio": {
      "type": "string"
    },
    "display_name": {
      "type": "string"
    },
    "social": [
      {
        "handle": {
          "type": "string"
        },
        "url": {
          "type": "string"
        }
      }
    ],
    "username": {
      "type": "string"
    }
  },
  "stats": {
    "contributions_last_year": {
      "format": "int",
      "type": "number"
    },
    "followers": {
      "format": "int",
      "type": "number"
    },
    "following": {
      "format": "int",
      "type": "number"
    },
    "repositories_count": {
      "format": "int",
      "type": "number"
    },
    "stars_count": {
      "format": "int",
      "type": "number"
    }
  }
}

API Call (TypeScript)

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

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