DsgnWrks Instagram Importer

In the spirit of WordPress and “owning your data,” this plugin will allow you to import and backup your instagram photos to your WordPress site. Includes robust options to allow you to control the imported posts formatting including built-in support for WordPress custom post-types, custom taxonomies, post-formats. You can control the content of the title and content of the imported posts using tags like insta-image, insta-text, and others, or use the new conditional tags [if-insta-text]Photo Caption: insta-text[/if-insta-text] and [if-insta-location]Photo taken at: insta-location[/if-insta-location]. Add an unlimited number of user accounts for backup and importing.

As of version 1.2.0, you can now import and backup your instagram photos automatically! The plugin gives you the option to choose from the default WordPress cron schedules, but if you wish to add a custom interval, you may want to add the wp-crontrol plugin.

Version 1.2.6 introduced many new features for Instagram video. Your videos will now be imported to the WordPress media library, as well as the cover image. The new shortcode, [dsgnwrks_instagram_embed src="INSTAGRAM_MEDIA_URL"], displays your imported media as an Instagram embed (works great for video!) and finally, you can now use the tags, insta-embed-image, and insta-embed-video, in the Post Content template to save the dsgnwrks_instagram_embed shortcode to the post.

Plugin is built with developers in mind and has many filters to manipulate the imported posts.

Sites That Have Used the Importer

(send me your site if you want to be featured here)

Like this plugin? Checkout the DsgnWrks Twitter Importer. Feel free to contribute to this plugin on github.


Latest version: Download DsgnWrks Instagram Importer v1.4.1 [zip] Rating: [imp_rating]%


  1. Upload the dsgnwrks-instagram-importer directory to the /wp-content/plugins/ directory.
  2. Activate the plugin through the ‘Plugins’ menu in WordPress.
  3. Visit the plugin settings page (/wp-admin/tools.php?page=dsgnwrks-instagram-importer-settings) to add your instagram usernames and adjust your import settings. If you want to see how how the output will look, I suggest you set the date filter to the last month or so. If you have a lot of instagram photos, you may want to import the photos in chunks (set the date further and further back between imports till you have them all) to avoid server overload or timeouts.
  4. Import!


Q. Installation Instructions

  1. Upload the dsgnwrks-instagram-importer directory to the /wp-content/plugins/ directory.
  2. Activate the plugin through the ‘Plugins’ menu in WordPress.
  3. Visit the plugin settings page (/wp-admin/tools.php?page=dsgnwrks-instagram-importer-settings) to add your instagram usernames and adjust your import settings. If you want to see how how the output will look, I suggest you set the date filter to the last month or so. If you have a lot of instagram photos, you may want to import the photos in chunks (set the date further and further back between imports till you have them all) to avoid server overload or timeouts.
  4. Import!

Q. How do I use these snippets?

  • Below are some common requests, and some helper snippets to accomplish them. To install these gists, download the gist from github, unzip, and copy the .php file inside to your site’s wp-content/mu-plugins directory. If you do not have the mu-plugins directory, simply create it. For more information, read this post.

Q. Is it possible to set the default image display size in a post?

Q. Is it possible to limit the length of the imported posts?

Q. Is it possible to set the title of the imported posts to the date of the image?

Q. Can I save my own post-meta fields for each post?

Q. Is it possible to automatically center align the imported images?

Q. Can I remove the text from the excerpt field?

Q. Is it possible to store the location data in the recommended WordPress GPS coordinates format/standard?

Q. Is it possible to modify where the instagram meta data is stored?

Q. Is it possible to embed the imported videos with WordPress native video player, instead of the Instagram embed?

Q. ??



  • Add dsgnwrks_instagram_post_meta_pre_save filter to allow saving meta to user-defined keys. Fixes Issue 29.
  • Add alt attribute to instagram image.
  • Fix bug where other instagram plugin’s settings would redirect to our plugin setting page (forum post).


  • Fix condition markup, if condition is the first bit in the content.
  • Allow deletion of users when the key is 0. hat-tip to Pablo de la Vega: http://dsgnwrks.pro/plugins/dsgnwrks-instagram-importer/#comment-12208
  • Fix issue w/ cached user data not being stored to transient.
  • Delete user-data transient when deleting user.
  • Cleanup wysiwyg editor instance.
  • No longer need bio, website, fullname, and profile_picture from authentication callback as we fetch in a separate request (or data is not needed).


  • Fix issues where Instagram usernames with certain characters could not show the settings panel.


  • Fix issues where Instagram usernames with certain characters could not import media.


  • Update: fix unit tests.
  • Update: Switch to a singleton for primary plugin class. (this helps address some issues with the debug plugin)


  • Bug fix: Fix “Call to undefined method DsgnWrksInstagram::get_options()” error.


  • Bug fix: Fix “Call to undefined method DsgnWrksInstagram_Settings::debugsend()” error.


  • Bug fix: Some checkboxes were not displaying the saved value.


  • Occasionally update the stored user’s data from the instagram API to keep it fresh.
  • Fix fatal error when deactivating the plugin.


  • When possible, import the full-resolution non-square instagram images.


  • Update importer image markup to support coming responsive images update to WordPress core.


  • When possible, import the full-resolution instagram images (1080×1080).


  • Bug fix: Made the auto-import feature off by default. Would sometimes be triggered on plugin activation.
  • Saved the Instagram username to post-meta (instagram_username) along with the entire Instagram user object (instagram_user).


  • Bug fix: Tag filter is now more reliable.


  • Bug fix: Adding a new user no longer resets the auto-import frequency setting.
  • Bug fix: User settings would occasionally not save correctly.
  • Conflict fix: Do not publicize imported posts via Jetpack.
  • New: Template tag for getting the instagram image, dw_get_instagram_image, and for displaying the image, dw_instagram_image.


  • New: Shortcode for displaying instagram embed, dsgnwrks_instagram_embed.
  • New: insta-embed-image, and insta-embed-video import content tags to add the embed shortcode. Using these tags will negate the insta-image tag.
  • New: Plugin option for selecting to remove #hashtags when saving posts’ Title/Content/Excerpt.
  • New: dsgnwrks_instagram_import_types filter – Modify to exclude images or video (or others?) from the import.
  • New: dsgnwrks_instagram_post_excerpt filter – Modifies the imported posts’ excerpts.
  • New: dsgnwrks_instagram_post_title filter – Modifies the imported posts’ titles.
  • New: dsgnwrks_instagram_post_content filter – Modifies the imported posts’ content.
  • New: dsgnwrks_instagram_{$tag} filter – Allows granular modification of each content tag’s replacement.
  • Improvement: Better ajax importing of images/posts. Each imported post will show live feedback during the import process.
  • Improvement: Better styling for users with MP6 installed.
  • Fixed: Authenticating users with Emoji (or other special characters in their bios) would cause the plugin to break.
  • Fixed: Post format selector didn’t have correct class and so wasn’t getting shown correctly.


  • Added: POT translation file.
  • Improvement: Import now runs via AJAX, and imported post messages have improved styling.
  • Fixed: Previously had no uninstall hook. Now deletes plugin option data (not imported posts) when uninstalling plugin.


  • Fixed: insta-image-link now pulls in the full 612×612 image size.
  • Added: dsgnwrks_instagram_image_size filter for changing from ‘full’ to any registered image size.
  • Added: dsgnwrks_instagram_insta_image filter to allow manipulation of the insta-image html markup (add classes, etc).


  • Fixed: Better SSL management


  • Added: Option to save Instagram hashtags as taxonomy terms (tags, categories, etc).
  • Added: Filter on Settings page to allow other plugins/themes to add extra settings fields.
  • Added: More of the Instagram photo data is saved to post_meta. props csenf
  • Fixed: Better management and display of API connection errors. props csenf


  • Added: Internationalization (i18n) translation support, and debugging infrastructure.


  • Added: It’s finally here! Option to auto-import/backup your instagram shots.


  • Added: Option to conditionally add “insta-text” & “insta-location.”
  • Updated: Default options when first adding a user, including the “insta-location” conditional in the post content.
  • Fixed: When unchecking “set as featured image,” the posts would still add the featured image.


  • Fixed: When unchecking “set as featured image” the input would still display as checked


  • Fix infinite redirect when adding a new user


  • Update plugin instructions that state setting the image as featured is required for images to be backed-up. As of version 1.1, this is no longer a requirement.


  • Convert plugin to an OOP class and remove amazon S3 links from post content. Props to @UltraNurd.


  • Fixes a bug with new user profile images not showing correctly


  • Fixed a bug where imported instagram times could be set to the future


  • Launch.


Downloads: 38099

29 Comments on “DsgnWrks Instagram Importer

  1. Pingback: Create An Awesome Instagram Photo Website Using WordPress

  2. Pingback: instagram -> Wordrpress blog | kobak pont org

  3. Pingback: BLOG: Meine Plugins | NUTZHIRN

  4. Pingback: Introducing Boergstagram - Das Leben des Boerge

  5. great plugin ..
    a info, it is possible to disable a specific #
    # # example red and white is no

  6. I am having a problem. the text in my post preview (view in instagram) is not actually showing in the post, when i view the post it is displaying a media rather than the full post, can anyone help me fix this as i want the view in instagram to show

  7. Hello
    Since a few Days I have the problem that it’s not automatically posting/importing the pictures. I’ve already checked it several times and it’s on “once hourly” (the “after 5 min” is gone?) and the imported post status is “published”. After once hitting manually it’s importing but as this function is not working from mobile phones I’d really need it to work again :'(

    • Schedules/cron is not something I’m able to support as this is almost always an issue with your web host. Can you please open a ticket with them requesting that they look into this? Mention that scheduled events are not firing. And as a test (and something to report to them), try scheduling a few posts to see if they publish when they are scheduled to.

  8. Love this plugin – awesome timesaver – works perfectly except for when the Import Status is set to “Published”. “Draft” or “Pending” work fine. Manually publishing is fine – but it would be nice if I could get an import to go straight to published. Any ideas?

    • So turns out the importer was only having issues bulk publishing a number of IGs during the initial import. Now that its set up and running, its having no problem importing IGs directly to posted one at a time.

  9. hi there, I love this plug in it has been so handy!

    But i was wondering if there is a way to prevent the posts being uploaded to the general ‘home’ page?

    Ive got new instagram pictures set up to come through as posts and they automatically go into my instagram section but I don’t want them clogging up my home page – if there is a way to prevent this I would appreciate any advice!


  10. Pingback: The Social Media Fallacy-Business Income From Social Media

  11. Hi,

    THis is a great plugin, however I am having issues deleting users.

    I get “infinite redirect loop” on Chrome and Firefox asks “Are you sure you want to delete this user” but when I click yes, nothing happens.

    Any assistance is greatly appreciated. I’ve rated your plugin 5 stars!

  12. Pingback: So, Instagram | Multi-faceted Abnormal

  13. I tried using this plug-in, but the authentication timed out and then after that it just tried redirecting me to shady sites, including a spoofed instagram log-in screen… that’s a bummer.

    • Oh no! I’ve been having issues with my Instagram authentication server, but never with redirecting to shady sites. Can you give me more information? And what were the shady spoofed sites you were referring to?

  14. Hi, thanks so much for this super plugin! I am not even advanced enough to be considered a novice at websites and coding – I know enough to be dangerous. :) So, I’ve imported a month’s worth of photos into my blog and LOVE this feature. However, I’m having issues knowing where to add the override filter for image size. I thought I had changed my blog’s settings for featured photo to a smaller size – but it’s not working and the photos are HUGE.

    I’ve googled and tried to figure this out on my own but cannot figure it out. Is there any way you can give me a little more help with keeping photos are more manageable size? My blog is private, so I can’t really link you to any posts, but I don’t think the problem is really blog-specific as it is user-error.

  15. It would be great to be able to import just on Tags. So not connected to any account just import images with a certain hashtag.

    is that possible?

    • It’s not possible without getting approval from Instagram for that API endpoint, and they would not grant that to me, as they don’t want people slurping up Instagram content if it’s not their content.

  16. File: dsgnwrks-instagram-importer.php
    Line: 1438


    if ( $delete ) {


    if ( $delete !== false ) {


    If the key to delete it’s 0 you can’t delete the user.

  17. Pingback: #instagram と#wordpress を #Instagram Importerプラグインで連携させれば最強のモブログ更新環境が実現できる。 The quickest update on my #wordpress blog using #instagram importer plugin. – ベトナム起業日記


Fast, secure WordPress hosting is provided by WP Engine.