PyEmbed is a Python library that allows you to easily embed content on your website from a wide variety of sources (including Flickr, Twitter and YouTube). It uses the oEmbed standard to discover how to represent the resource on your website.

Key features

  • Zero configuration - just supply the URL that you want to embed content from.
  • Support for Markdown and reStructuredText.
  • Works with static site generators, including Pelican.
  • Fully customizable embeddings, with support for Jinja2 and Mustache.

Getting started

PyEmbed comes with out-of-the-box support for Markdown and reStructuredText, or you can embed it in your own applications. See the Usage section on the navigation bar for more information.


PyEmbed has been tested with Python 2.7, 3.3 and 3.4.


To report an issue, request an enhancement, or contribute a patch, go to the PyEmbed GitHub page.

Release history


Released 2015-09-05

Improved performance by reordering the discovery algorithm.


Released 2015-08-27

Don't hit the list of providers until necessary.


Released 2015-08-15

Fix another Beautiful Soup warning.


Released 2015-08-15

Fix Beautiful Soup warning.


Released 2015-08-12

Use official list of providers.


Released 2015-01-03

Allow overriding the templates in the default renderer.


Released 2014-09-02

Fixed bug with embedding from SoundCloud.


Released 2014-08-02

This release adds support for more providers. These are statically configured based on the list in the oEmbed spec.


Released 2014-02-05

Initial stable release.