Skip to main content


Oct 1, 2023


Extract metadata from any website with an API call. The API allows fetching of metatags, open graph data and schema tags.

Built with Elysia + Cheerio with Bun runtime


Uses Elysia for managing routing and cheerio to parse the HTML of the page and retrieve meta data.

The server is deployed using Docker on You can use the GET API with the any URL as a query parameter.

Send a request with any URL :<insert_url_to_fetch_metadata>

Responds with the metadata, OpenGraph data and used Schema tags


Here is an example of fetching data from a Wikipedia article about Batman

which returns the following JSON.

  "meta": {
    "title": "Batman - Wikipedia",
    "description": "Batman"
  "openGraph": {
    "image": "",
    "image:width": "640",
    "image:height": "1061",
    "title": "Batman - Wikipedia",
    "type": "website"
  "schema": [
      "@context": "",
      "@type": "Article",
      "name": "Batman",
      "url": "",
      "sameAs": "",
      "mainEntity": "",
      "author": {
        "@type": "Organization",
        "name": "Contributors to Wikimedia projects"
      "publisher": {
        "@type": "Organization",
        "name": "Wikimedia Foundation, Inc.",
        "logo": {
          "@type": "ImageObject",
          "url": ""
      "datePublished": "2001-10-23T04:05:04Z",
      "dateModified": "2023-10-28T07:19:29Z",
      "image": "",
      "headline": "comic book superhero"

Local Development

To get started, clone this repo, and paste this command into your terminal to install the dependencies:

bun install

and to start the development server run:

bun run dev

The API server will be live on http://localhost:3000/


This project is licensed under the MIT License - see the LICENSE file for details.