---
title: Get Page Metadata
description: Get metadata from the opened page
---

Read the address, title, description, language, icon and social-sharing tags of the page open in the active tab.

## Try it

## What it does

Get Page Metadata reads the information a page publishes about itself and returns it as one item. It has no settings.

* `url`: the address of the tab. `title`: the title shown on the browser tab.
* `canonicalUrl`: the page's preferred address, when it declares one (empty otherwise).
* `description`: the page's description, or its social-sharing description when it has none.
* `lang`: the page language, such as `en` or `fr-FR` (empty when not declared).
* `favicon`: the full address of the page icon. When the page declares none, it falls back to `/favicon.ico` on the same site.
* `openGraph`: the social-sharing tags (`og:` tags) without their prefix, for example `title`, `image`, `type`.
* `twitter`: the `twitter:` card tags, also without their prefix.

## When to use it

* Save a bookmark or reading-list entry with a clean title, description and preview image.
* Know which page a workflow started from, to log it or to branch on the site.
* Check that a page has a description and sharing image before you publish it.

## Inputs and settings

This node has no settings.

## Outputs

Each output item has these fields:

```json title="Shape of an output item"
{
  "url": "…",
  "title": "…",
  "canonicalUrl": "…",
  "description": "…",
  "lang": "…",
  "favicon": "…",
  "openGraph": {},
  "twitter": {}
}
```

Read the sharing tags with expressions such as `{{ $input.openGraph.image }}` or `{{ $input.twitter.card }}`. A tag the page does not set is simply absent.

## Dependencies and credentials

None. This node needs no connection and has no slots for other nodes.

## Example workflow

1. Add a [Context Menu](/nodes/builtin/trigger/contextmenu/) trigger, so you can save any page from the right-click menu.
2. Add **Get Page Metadata**.
3. Add [Edit Fields](/nodes/builtin/datatransformation/editfields/) with three fields: `title` = `{{ $input.title }}`, `link` = `{{ $input.url }}` and `image` = `{{ $input.openGraph.image }}`.
4. Keep it with [Data Store](/nodes/builtin/core/datastore/), **Operation** = **Set**, **Key** = `{{ $input.link }}`.

## Common issues

* **`description`, `canonicalUrl` or `lang` is empty.** The page does not declare it. Fall back to another field, or read the text with [Get All Text](/nodes/extension/getalltext/).
* **`openGraph` is empty.** The page has no social-sharing tags.
* **The title is out of date on a single-page app.** Some sites change the title only after content loads. Add [Wait For Element](/nodes/extension/ui/wait-for-element/) before this node.
* **The node fails outside the extension.** This node runs in the browser extension; install it or run the workflow from the extension.

## Recipes with this node

## Related nodes

* [Get All Text](/nodes/extension/getalltext/): the page's content.
* [Screenshot Page](/nodes/extension/screenshotpage/): a picture of the page.
* [Edit Fields](/nodes/builtin/datatransformation/editfields/): shape the metadata into the record you need.