linkpreview
Get link (URL) preview
Decision gist · record as of 2026-08-14
Yes, if you need link preview extraction and can accept aging maintenance. The library is straightforward, has no known vulnerabilities, and handles the common metadata formats well. Install it if you're building a feature that displays rich link previews; skip it if you need active maintenance or support for cutting-edge HTML5 standards.AI-flagged interpretation of the facts on this page — verify before relying
Before you install
- Low friction install with two common dependencies (requests, beautifulsoup4).
- Package is aging—last release was 364 days ago—so maintenance responsiveness is unclear, though no recent vulnerabilities are known.
License · maintenance · safety
MIT (permissive) — MIT license is permissive; you can use, modify, and distribute this package freely in commercial or private projects with minimal restrictions.
last release 2025-08-15 (364 days)
0 known vulnerabilities (OSV.dev, 2026-08-14) · 111,983 downloads/mo, #12,387 on PyPI
Alternatives
Verify before relying
from linkpreview import link_preview
preview = link_preview("http://github.com/")
print(preview.title)
print(preview.description)
print(preview.image)- Whether the package actively maintains compatibility with Python versions beyond 3.10 or newer Python releases.
- Performance characteristics when parsing large or malformed HTML documents.
- Whether lxml is truly optional or required for acceptable performance in production use.
What it is and what it does
linkpreview is a Python library that fetches and parses web page metadata to generate link previews. It gathers data from multiple sources—OpenGraph and Twitter Card meta tags, Microdata, JSON-LD markup, generic HTML tags (h1, p, img), and URL structure—then extracts and normalizes fields like title, description, image, site name, and favicon. The library can either accept pre-fetched HTML content or automatically retrieve it from a URL using requests.
You provide a URL and optionally HTML content, and get back a preview object with standardized fields. It supports custom HTTP headers, preset user-agent profiles (Firefox, Chrome, Googlebot, Twitterbot, etc.), and optional lxml parsing for better performance. The library handles relative URLs by converting them to absolute paths and works with pre-parsed BeautifulSoup objects if you already have one.
Use it for
- Generate rich link previews in a chat or messaging application by fetching title, description, and image from shared URLs.
- Build a web scraper that collects structured metadata from multiple sites for indexing or comparison.
- Create a social media sharing widget that displays preview cards before users post a link.
- Extract favicon and site name from URLs for bookmark managers or link aggregators.
- Parse and validate OpenGraph metadata on your own site to ensure social media sharing displays correctly.
Worth the install?
AI-flagged interpretation of the facts on this page. Verify before relying on it.
Yes, if you need link preview extraction and can accept aging maintenance.
The library is straightforward, has no known vulnerabilities, and handles the common metadata formats well. Install it if you're building a feature that displays rich link previews; skip it if you need active maintenance or support for cutting-edge HTML5 standards.
Install
linkpreview on PyPI
Before you install
Low friction install with two common dependencies (requests, beautifulsoup4). Package is aging—last release was 364 days ago—so maintenance responsiveness is unclear, though no recent vulnerabilities are known.
License in practice
MIT license is permissive; you can use, modify, and distribute this package freely in commercial or private projects with minimal restrictions.
Quickstart
from linkpreview import link_preview
preview = link_preview("http://github.com/")
print(preview.title)
print(preview.description)
print(preview.image)
Verify before relying
- Whether the package actively maintains compatibility with Python versions beyond 3.10 or newer Python releases.
- Performance characteristics when parsing large or malformed HTML documents.
- Whether lxml is truly optional or required for acceptable performance in production use.
Package facts
| License | MIT permissive |
| Python support | Not specified |
| Install friction | Low. Pure-Python wheel |
| Runtime dependencies | 2 packagesrequestsbeautifulsoup4 |
| Maintenance | Aging 364 days since the last release |
| First released | |
| Downloads | 111,983 / month, #12,387 on PyPI 30-day window, as of 2026-08-14 |
| Known vulnerabilities | None known OSV.dev, checked 2026-08-14 |
| Classifiers | Development Status :: 4 - BetaIntended Audience :: DevelopersLicense :: OSI Approved :: MIT LicenseOperating System :: POSIX :: LinuxOperating System :: UnixProgramming Language :: Python :: 3.10Programming Language :: Python :: 3.6Programming Language :: Python :: 3.7Programming Language :: Python :: 3.8Programming Language :: Python :: 3.9Topic :: Software Development :: Libraries |
Evidence: linkpreview-0.12.1-py3-none-any.whl
Tags
Let your AI agent find packages like this
Example. Real query, live index.
You found this page by searching. An agent finds it by wishing: SkillFed indexes 14,416 PyPI packages by what they can do, searchable in plain language.
wish › “link preview metadata extraction”
- linkpreviewExtracts preview metadata (title, description, image, site name,…
- pyobjc-framework-LinkPresentationProvides Python bindings for macOS's LinkPresentation framework,…
- sphinxext-opengraphSphinx extension that automatically generates Open Graph metadata…
Give your agent the search over MCP, or paste the wish link into any chat.
More Libraries packages
urllib3 is an HTTP client library that provides thread-safe connection pooling, SSL/TLS verification, multipart file uploads, request retries, compression support, and proxy handling for Python applications.
Requests is a Python HTTP library that simplifies sending HTTP/1.1 requests with automatic handling of headers, authentication, cookies, and response parsing.
Pluggy provides a plugin system that lets you define hook specifications and register implementations to be called in sequence, enabling extensible Python applications without tight coupling.
Install it if you're building an extensible application or framework.
Provides parsing, arithmetic, and recurrence rule computation for dates and times, with timezone support and iCalendar RFC compliance.
Install it if you need to parse flexible date strings, compute relative dates, handle timezones, or work with recurrence rules—it's the de facto choice for these tasks.
Six provides utility functions to write Python code that runs on both Python 2.7 and Python 3.3+, smoothing over language differences between the two versions.
pytest is a testing framework that lets you write test functions using plain assert statements and automatically discovers and runs them, with detailed failure reporting.
See also extruct · sphinxext-opengraph · favicon · recipe-scrapers · BeautifulSoup · twikit · beautifulsoup4 · Scweet · parsel · sphinx-favicon