Instagram #hashtag contest

A platform built on visual engagement, Instagram is the top social media network for visual branding. Furthermore, because the platform encourages sharing the most interesting moments in life, it has become a driver for social desire and envy. Hosting an Instagram competition can generate significant brand awareness and purchase intent.

This addon give you ability get all photos from Instagram with specified #hashtag and insert to contest as local entries.

The perfect tool to increase your website activity and social traffic with WordPress Instagram Contest!

How it works

Every N minutes (20, 60, …) runs script that:

  • Get list photos by #hashtag (up to 100 items) [just if Contest upload dates are currently active, else contest will be skipped]
  • Process each photo (download new photos to WordPress media library + add to contest and sync likes count for exists, if this option enabled)

Important notes:

When images are added from Instagram they contains just:

  • nickname (not available since 20th June 2017)
  • caption
  • image

Any other information (like email, etc) can’t be collected.

Addon installation:

  1. Install as plugin and activate
  2. Naviage to “Photo contest” => “Addons” and set up addon settings
  3. Create new contest and set up Hashtag and Name & Description templates


Does this addon use official Instagram API?

No, as official Instagram API disabled since 2016 year. Because of this there was a chance that addon can stop working due to removing some unoficcial API endpoints.

Does this addon require any API keys?


Is there any limits to photos count?

By default per iteration addon get max ~360 last photos and download max 110 photos.

If you have too many entries per short time (> 110 per 15 minutes) you can increase how deep to crawl with:

define('FV_IG_MAX_PAGES_PER_RUN', 3); // Increase deep up to max ~570 per iteration

Why numers are about? Because Intagram can return a slightly different count per request (usually about 180-190).

Note: if enabled Sync likes count, then plugin will run as above and after get all not processed photos for sync Likes for them. In case too many total photos in feed (> 1000), there was a change that your server IP will be temporary blocked.

Can I use default upload form together with Instagram Submit?

Yes, you can.

How can I limit Instagram Submit dates?

Script will add new photos from Instagram just if Contest upload dates are currently active.

Does addon supported Videos?

No, all videos will be skipped.


/* version 1.01 # 27.06.2016 */ ** REQUIRED 2.2.510

  • – [fix] Fixed parser, that stop working due to Instagram API changes

/* version 0.9 # 16.02.2016 */ ** REQUIRED 2.2.509

  • – [tweak] Code & performance improvements
  • – [tweak] Contest settings migrated to new Contest Settings API

/* version 0.8 # 16.02.2016 */ ** REQUIRED 2.2.373

  • – [tweak] added notice, if DISABLE_WP_CRON defined in wp-config.php (can be removed via defining FV_IG_SKIP_DISABLED_WP_CRON)

== version 0.7 # 3.02.2016 ==

  • [tweak] better settings values sanitization
  • [fix] compatibility fix with >= 2.2.373

== version 0.6 # 30.11.2016 == ** REQUIRED 2.2.373

  • [fix] fixed bug with moderation (photos was published automatically, even if Moderation enabled in Contest config)

== version 0.5 # 25.11.2016 == ** REQUIRED 2.2.373

  • restored intagram parsing after Intagram api update

== version 0.4 # 11.11.2016 == ** REQUIRED 2.2.373

  • now contest option “Max photos per user” can be also applied for Instagram photos
  • bug with Emoji

== version 0.3 # 10.11.2016 == ** REQUIRED 2.2.373

  • option to block removed photos
  • ability edit list of blocked photos
  • better Emoji support
  • fix for missed spaces between Hashtags (like “#aaa#bbb#sdfdfsdf#dfgdfggf”) – this broken contest layout

== version 0.2 # 03.11.2016 ==

  • Added option “Where to save image” with CDN (not need download images to hosting), CDN + WP and WP options
  • If used not WP option – rotation was disabled

v0.1 / October 27, 2016

  • Initial release

To do list:

  • Add ability fetch Videos
  • ++ Add ability to use Instagram CDN instead download image local or donwload image but whatever use Instagram CDN