Shop More Submit  Join Login
Embedding deviantART Media in Your Applications Made Easy


One of the most frequent activities in social applications is link sharing. Wouldn't it be nice if your application could display an image thumbnail or some info from the linked resource? Normally developers would use clunky proprietary APIs, if those are available at all, or resort to screen scraping the pages to extract bits and pieces of information. And they’d have to do it differently for each service. Needless to say it's a hassle.

oEmbed solves this common problem nicely.
oEmbed is a format for allowing an embedded representation of a URL on third party sites. The simple API allows a website to display embedded content (such as photos or videos) when a user posts a link to that resource, without having to parse the resource directly.
Many large services such as YouTube, Flickr, Hulu, Vimeo, Viddler, Qik, MyOpera, and now deviantART support this API. Our implementation of oEmbed API makes it simple for application developers to embed media from deviantART from having just a link to a deviation page. For example, a request like this:

http://backend.deviantart.com/oembed?url=http%3A%2F%2Ffav.me%2Fd2enxz7
Will return you this JSON response:
{"version":"1.0",
"type":"photo",
"title":"Cope",
"url":"fc04.deviantart.net/fs50/f/200…",
"author_name":"pachunka",
"author_url":"pachunka.deviantart.com",
"provider_name":"DeviantART",
"provider_url":"www.deviantart.com",
"thumbnail_url":"th03.deviantart.net/fs50/300W/…",
"thumbnail_width":300,
"thumbnail_height":450,
"width":448,
"height":672}

All that the application developer needs to do is to read the desired values from this response, be it thumbnail or preview url or author name, and output an image tag or text on the webpage.



Calling this API from Your Applications

By far the simplest way to use our oEmbed API is from client-side javascript using jQuery. Your application would need to recognize that a link in status post is to a deviation page at deviantART and use this JSONP (JSON with padding) format oEmbed API call:


Of course, you can choose to use the API from the server side, parsing links and doing API calls when status updates are posted or possibly formatted for display. In that case, you would probably choose to use JSON or XML format. The oEmbed API specification page lists a variety of libraries for most popular languages and frameworks that simplify an implementation. And needless to say, if you choose to embed media from deviantART using this API, it's a very small step to provide the same integration with many other services that support it, such as Flickr and YouTube. Only the link format detection and url endpoints are specific to the services.



Who Uses deviantART oEmbed API?

Some of you may have heard that deviantART was one of several launch partners for the new version of Twitter. A big part of that announcement was the ability to display images and videos in the Twitter stream. Content from deviantART was there, from day one. How did they do it? By using our publicly available oEmbed API. Twitter detects that the URL present in the status update is a link to a deviation on deviantART, hits our API JSONP endpoint, reads the response and displays the preview image.





API Documentation
See oEmbed API  specification page
deviantART provider implementation:
API JSON endpoint is: http://backend.deviantart.com/oembed
API XML  endpoint is: http://backend.deviantart.com/oembed?format=xml
API JSONP  endpoint is: http://backend.deviantart.com/oembed?format=jsonp&callback=yourCallback
<dl>
<dt>URL scheme for url parameter is:</dt>
    <dd>http://*.deviantart.com/art/*
    http://fav.me/*
    http://*.deviantart.com/*#/d*
</dd></dl>


Recent Journal Entries

We're Hiring Developers

We're looking for talented web developers to join our team! :la: Interested? Check out deviantart.theresumator.com/ap…

Journal Writers