{"id":366764,"date":"2026-09-23T15:11:47","date_gmt":"2026-09-23T15:11:47","guid":{"rendered":"https:\/\/wordpress.org\/plugins\/goalprevail-image-hub\/"},"modified":"2026-09-23T15:11:30","modified_gmt":"2026-09-23T15:11:30","slug":"goalprevail-stock-image-importer","status":"publish","type":"plugin","link":"https:\/\/af.wordpress.org\/plugins\/goalprevail-stock-image-importer\/","author":23343687,"comment_status":"closed","ping_status":"closed","template":"","meta":{"version":"1.0.0","stable_tag":"1.0.0","tested":"7.1.3","requires":"6.2","requires_php":"7.4","requires_plugins":null,"header_name":"GoalPrevail Stock Image Importer","header_author":"Goal Prevail","header_description":"Search eight stock libraries and import images straight into your Media Library. Direct provider connections, signed imports, no middleman proxy.","assets_banners_color":"b2afaf","last_updated":"2026-09-23 15:11:30","external_support_url":"","external_repository_url":"","donate_link":"https:\/\/goalprevail.com\/","header_plugin_uri":"https:\/\/goalprevail.com\/plugins\/goalprevail-stock-image-importer\/","header_author_uri":"https:\/\/goalprevail.com\/","rating":0,"author_block_rating":0,"active_installs":0,"downloads":104,"num_ratings":0,"support_threads":0,"support_threads_resolved":0,"author_block_count":0,"sections":["description","installation","faq","changelog"],"tags":{"1.0.0":{"tag":"1.0.0","author":"goalprevail","date":"2026-09-23 15:11:30","revision":3709560}},"upgrade_notice":{"1.0.0":"<p>First release.<\/p>"},"ratings":[],"assets_icons":{"icon-128x128.png":{"filename":"icon-128x128.png","revision":3709560,"resolution":"128x128","location":"assets","locale":"","width":128,"height":128},"icon-256x256.png":{"filename":"icon-256x256.png","revision":3709560,"resolution":"256x256","location":"assets","locale":"","width":256,"height":256}},"assets_banners":{"banner-1544x500.png":{"filename":"banner-1544x500.png","revision":3709560,"resolution":"1544x500","location":"assets","locale":"","width":1544,"height":500},"banner-772x250.png":{"filename":"banner-772x250.png","revision":3709560,"resolution":"772x250","location":"assets","locale":"","width":772,"height":250}},"assets_blueprints":{},"all_blocks":[],"tagged_versions":["1.0.0"],"block_files":[],"assets_screenshots":[],"screenshots":[]},"plugin_section":[],"plugin_tags":[20823,238319,163,233,402],"plugin_category":[50],"plugin_contributors":[264269],"plugin_business_model":[],"class_list":["post-366764","plugin","type-plugin","status-publish","hentry","plugin_tags-free-images","plugin_tags-image-import","plugin_tags-images","plugin_tags-media-library","plugin_tags-stock-photos","plugin_category-media","plugin_contributors-goalprevail","plugin_committers-goalprevail"],"banners":{"banner":"https:\/\/ps.w.org\/goalprevail-stock-image-importer\/assets\/banner-772x250.png?rev=3709560","banner_2x":"https:\/\/ps.w.org\/goalprevail-stock-image-importer\/assets\/banner-1544x500.png?rev=3709560","banner_rtl":false,"banner_2x_rtl":false},"icons":{"svg":false,"icon":"https:\/\/ps.w.org\/goalprevail-stock-image-importer\/assets\/icon-128x128.png?rev=3709560","icon_2x":"https:\/\/ps.w.org\/goalprevail-stock-image-importer\/assets\/icon-256x256.png?rev=3709560","generated":false},"screenshots":[],"raw_content":"<!--section=description-->\n<p>GoalPrevail Stock Image Importer puts Openverse, Wikimedia Commons, NASA, Pixabay, Pexels, Flickr, Magnific (formerly Freepik) and GIPHY inside your WordPress admin. Search, filter, fine-tune the metadata, and import single images or whole selections without ever leaving your dashboard.<\/p>\n\n<p><strong>Works instantly.<\/strong> Openverse, Wikimedia Commons and the NASA Image Library need no account and no key. Activate the plugin and start importing. Connect free API keys to unlock Pixabay, Pexels, Flickr and GIPHY, plus Magnific with a Magnific API plan.<\/p>\n\n<p><strong>Your server, your keys, no proxy.<\/strong> Every provider request runs server-side, straight from your site to the provider. Nothing is routed through anyone else's server, no usage is tracked, and your API keys are encrypted at rest and never sent to the browser.<\/p>\n\n<h4>Search that respects your time<\/h4>\n\n<ul>\n<li>Provider tabs with per-provider filters: orientation, color, sort order and image type<\/li>\n<li>Masonry grid that preserves relevance order, so the best match is always top-left<\/li>\n<li>Results appear instantly as sized placeholders, and images stream in as they load<\/li>\n<li>The next page is prefetched in the background, so infinite scroll never waits<\/li>\n<li>Recent-search suggestions as you type, with a short server-side result cache<\/li>\n<li>License badge and source link on every card, with author credits on hover<\/li>\n<li>Safe-search switch covering every provider that supports it<\/li>\n<li>Flickr results are pre-filtered to openly licensed photos only (CC, public domain, US Gov)<\/li>\n<\/ul>\n\n<h4>Right where you pick images<\/h4>\n\n<ul>\n<li>An \"Image Importer\" tab inside the WordPress media modal, so it is there in the Image block's \"Select Image\", the Featured image panel, galleries and \"Replace image\"<\/li>\n<li>Importing from that tab drops the new image into the modal's selection, then the modal's own button (\"Select\", \"Set featured image\", \"Insert into post\") finishes the job, exactly as for an image you uploaded<\/li>\n<li>An \"Import Stock Image\" button on the Media Library screen<\/li>\n<li>A \"GoalPrevail Stock Image Importer\" button next to \"Add Media\" in the Classic Editor, which searches in a modal and inserts into the post or sets the featured image in one click<\/li>\n<\/ul>\n\n<h4>Imports done right<\/h4>\n\n<ul>\n<li>One-click import, or open the editor to set filename, title, alt text, caption and description first<\/li>\n<li>Multi-select bulk import with live per-image progress<\/li>\n<li>Automatic alt text and author, source and license attribution captions<\/li>\n<li>Configurable resize-on-import and download size cap. Animated GIFs are never resized, so they keep moving<\/li>\n<li>An \"Imported images\" view showing everything the plugin ever brought in, with source links<\/li>\n<\/ul>\n\n<h4>Licensing and attribution<\/h4>\n\n<p>Every provider has its own terms, and the plugin puts them where you make the decision instead of burying them here:<\/p>\n\n<ul>\n<li>The license of each result is shown on its card and stored with the imported attachment<\/li>\n<li>GIPHY results carry the \"Powered by GIPHY\" mark their API terms require, and every imported GIF is captioned with the GIPHY credit whether or not automatic attribution is switched on<\/li>\n<li>Magnific results carry an on-screen notice that the content is licensed, needs an active Magnific API plan, and keeps its licence obligations after import<\/li>\n<\/ul>\n\n<p>You are still responsible for honouring the licence of anything you publish, especially commercially.<\/p>\n\n<h4>Security first<\/h4>\n\n<ul>\n<li>Imports are HMAC-signed. The import endpoint only accepts URLs that a search on your site actually returned, so arbitrary-URL sideloading is impossible<\/li>\n<li>Capability checks and REST nonces on every endpoint, with rate limiting on search, import and key tests<\/li>\n<li>API keys stored encrypted (libsodium or OpenSSL), shown only as a masked hint, and writable-only in the settings UI<\/li>\n<li>Strict server-side MIME validation. File contents are inspected, not just extensions<\/li>\n<\/ul>\n\n<h4>Built to grow<\/h4>\n\n<p>New providers plug into a small provider API (the <code>gpih_providers<\/code> filter). Eight ship in the box, and add-ons can register more.<\/p>\n\n<h3>External services<\/h3>\n\n<p>When you search, change providers or filters, or load more results, your server sends the search text, filters and pagination to the selected provider. The app may prefetch the next results page for that search. A key test sends the query \"nature\" and the entered or saved API key to that provider. Imports send the selected image identifier or download URL. Requests include your server IP address, plugin version and site URL in the user agent, and an API key where required.<\/p>\n\n<p>Image previews load directly in your browser from provider CDNs or the original image hosts returned by Openverse. Those hosts receive your browser IP address and normal HTTP request information. Imported files and source and license metadata are stored in the WordPress Media Library. Search results are cached temporarily on your server, and the last ten searches are stored in browser local storage.<\/p>\n\n<p>Nothing is requested on the front end of your site. Provider API conditions are separate from individual image licenses.<\/p>\n\n<p>Service: Openverse. Image search, no key required.\nEndpoints: https:\/\/api.openverse.org\/ and the third-party image hosts it returns\nTerms of service: https:\/\/docs.openverse.org\/terms_of_service.html\nPrivacy policy: https:\/\/openverse.org\/privacy<\/p>\n\n<p>Service: Wikimedia Commons. Image search and downloads, no key required.\nEndpoints: https:\/\/commons.wikimedia.org\/, https:\/\/upload.wikimedia.org\/\nTerms of service: https:\/\/foundation.wikimedia.org\/wiki\/Policy:Terms_of_Use\nPrivacy policy: https:\/\/foundation.wikimedia.org\/wiki\/Policy:Privacy_policy<\/p>\n\n<p>Service: NASA Image and Video Library. Image search and downloads, no key required.\nEndpoints: https:\/\/images-api.nasa.gov\/, https:\/\/images-assets.nasa.gov\/\nTerms of service: https:\/\/www.nasa.gov\/nasa-brand-center\/images-and-media\/\nPrivacy policy: https:\/\/www.nasa.gov\/privacy\/<\/p>\n\n<p>Service: Pixabay. Image search and downloads using an API key you supply.\nEndpoints: https:\/\/pixabay.com\/api\/ and its image CDN\nTerms of service: https:\/\/pixabay.com\/service\/terms\/\nPrivacy policy: https:\/\/pixabay.com\/service\/privacy\/<\/p>\n\n<p>Service: Pexels. Image search and downloads using an API key you supply.\nEndpoints: https:\/\/api.pexels.com\/, https:\/\/images.pexels.com\/\nTerms of service: https:\/\/www.pexels.com\/terms-of-service\/\nPrivacy policy: https:\/\/www.pexels.com\/privacy-policy\/<\/p>\n\n<p>Service: Flickr. Image search and downloads using an API key you supply. Results are restricted to openly licensed photos.\nEndpoints: https:\/\/api.flickr.com\/, https:\/\/live.staticflickr.com\/\nTerms of service: https:\/\/www.flickr.com\/services\/api\/tos\/\nPrivacy policy: https:\/\/www.flickr.com\/help\/privacy<\/p>\n\n<p>Service: Magnific, formerly Freepik. Resource search and downloads using an API key and an active Magnific plan. Magnific content is licensed by Magnific and its licence terms continue to apply after import.\nEndpoints: https:\/\/api.magnific.com\/ and its download hosts\nTerms of service: https:\/\/www.magnific.com\/legal\/terms-of-use\nPrivacy policy: https:\/\/www.magnific.com\/legal\/privacy<\/p>\n\n<p>Service: GIPHY. GIF and sticker search and downloads using an API key you supply. The GIPHY attribution mark is displayed on screen and the GIPHY credit is written into every imported GIF, as the GIPHY API terms require. GIPHY content remains subject to those terms after import.\nEndpoints: https:\/\/api.giphy.com\/ and its media CDN hosts\nTerms of service: https:\/\/support.giphy.com\/hc\/en-us\/articles\/360028134111-GIPHY-API-Terms-of-Service\nPrivacy policy: https:\/\/giphy.com\/privacy<\/p>\n\n<p>Service: WordPress.org plugin API. The GoalPrevail Plugins dashboard requests the public catalog for the author \"goalprevail\" when you open that screen, so it can list them, and caches a successful response for 24 hours. The dashboard may then load the returned plugin icons from the WordPress.org plugin asset CDN.\nEndpoints: https:\/\/api.wordpress.org\/plugins\/info\/1.2\/, https:\/\/ps.w.org\/\nTerms of service: https:\/\/wordpress.org\/about\/terms-of-service\/\nPrivacy policy: https:\/\/wordpress.org\/about\/privacy\/<\/p>\n\n<!--section=installation-->\n<ol>\n<li>Upload the <code>goalprevail-stock-image-importer<\/code> folder to <code>\/wp-content\/plugins\/<\/code>.<\/li>\n<li>Activate the plugin.<\/li>\n<li>Open <strong>GoalPrevail Plugins \u2192 Image Importer<\/strong> and search Openverse, Wikimedia Commons or NASA right away.<\/li>\n<li>Optionally add free API keys on the <strong>Settings<\/strong> tab to unlock Pixabay, Pexels, Flickr and GIPHY (and Magnific with a Magnific API plan).<\/li>\n<\/ol>\n\n<!--section=faq-->\n<dl>\n<dt id=\"do%20i%20need%20api%20keys%3F\"><h3>Do I need API keys?<\/h3><\/dt>\n<dd><p>Not for Openverse, Wikimedia Commons or NASA. Pixabay, Pexels, Flickr and GIPHY offer free keys from the provider, added once on the Image Importer Settings tab. Magnific requires a Magnific API subscription for downloads.<\/p><\/dd>\n<dt id=\"are%20the%20images%20free%20to%20use%3F\"><h3>Are the images free to use?<\/h3><\/dt>\n<dd><p>Each provider has its own license, shown on every result card and stored with the imported image. Check the license badge, especially for commercial projects. GIPHY and Magnific content stays subject to those services' own terms after import, and the plugin shows a notice on screen when you search them.<\/p><\/dd>\n<dt id=\"where%20are%20imported%20images%20stored%3F\"><h3>Where are imported images stored?<\/h3><\/dt>\n<dd><p>In your regular Media Library, like any upload. The plugin records the provider, source page and license as attachment metadata.<\/p><\/dd>\n<dt id=\"does%20the%20plugin%20phone%20home%3F\"><h3>Does the plugin phone home?<\/h3><\/dt>\n<dd><p>There is no GoalPrevail telemetry, proxy or required GoalPrevail account. Searches and imports contact the selected provider, and previews load from image hosts in your browser. The GoalPrevail dashboard also queries WordPress.org for the author's plugin catalog. See External services below.<\/p><\/dd>\n<dt id=\"why%20is%20unsplash%20not%20included%3F\"><h3>Why is Unsplash not included?<\/h3><\/dt>\n<dd><p>The Unsplash API gates production applications behind per-application approval, which does not fit a plugin distributed to many sites that each use their own key. Rather than ship an integration that depends on every user's key being used outside its intended terms, Unsplash is left out.<\/p><\/dd>\n\n<\/dl>\n\n<!--section=changelog-->\n<h4>1.0.0<\/h4>\n\n<ul>\n<li>Initial release: search and import from eight stock libraries (Openverse, Wikimedia Commons, NASA, Pixabay, Pexels, Flickr, Magnific and GIPHY) straight into the Media Library.<\/li>\n<li>HMAC-signed imports, encrypted API keys, capability checks and rate limiting on every endpoint.<\/li>\n<li>Classic Editor \"GoalPrevail Stock Image Importer\" button next to Add Media, with insert-into-post and set-featured-image support.<\/li>\n<li>Bulk import, editable metadata before import, auto alt text and attribution captions, resize-on-import and an \"Imported images\" history view.<\/li>\n<li>An \"Image Importer\" tab in the WordPress media modal, covering the Image block, the Featured image panel, galleries and \"Replace image\", plus a button on the Media Library screen.<\/li>\n<li>Required provider attribution shown on screen and written into imports, including the \"Powered by GIPHY\" mark and the Magnific licence notice.<\/li>\n<\/ul>","raw_excerpt":"Search eight stock image libraries and import straight into your Media Library, with direct provider connections and no middleman proxy.","jetpack_sharing_enabled":true,"_links":{"self":[{"href":"https:\/\/af.wordpress.org\/plugins\/wp-json\/wp\/v2\/plugin\/366764","targetHints":{"allow":["GET"]}}],"collection":[{"href":"https:\/\/af.wordpress.org\/plugins\/wp-json\/wp\/v2\/plugin"}],"about":[{"href":"https:\/\/af.wordpress.org\/plugins\/wp-json\/wp\/v2\/types\/plugin"}],"replies":[{"embeddable":true,"href":"https:\/\/af.wordpress.org\/plugins\/wp-json\/wp\/v2\/comments?post=366764"}],"author":[{"embeddable":true,"href":"https:\/\/af.wordpress.org\/plugins\/wp-json\/wporg\/v1\/users\/goalprevail"}],"wp:attachment":[{"href":"https:\/\/af.wordpress.org\/plugins\/wp-json\/wp\/v2\/media?parent=366764"}],"wp:term":[{"taxonomy":"plugin_section","embeddable":true,"href":"https:\/\/af.wordpress.org\/plugins\/wp-json\/wp\/v2\/plugin_section?post=366764"},{"taxonomy":"plugin_tags","embeddable":true,"href":"https:\/\/af.wordpress.org\/plugins\/wp-json\/wp\/v2\/plugin_tags?post=366764"},{"taxonomy":"plugin_category","embeddable":true,"href":"https:\/\/af.wordpress.org\/plugins\/wp-json\/wp\/v2\/plugin_category?post=366764"},{"taxonomy":"plugin_contributors","embeddable":true,"href":"https:\/\/af.wordpress.org\/plugins\/wp-json\/wp\/v2\/plugin_contributors?post=366764"},{"taxonomy":"plugin_business_model","embeddable":true,"href":"https:\/\/af.wordpress.org\/plugins\/wp-json\/wp\/v2\/plugin_business_model?post=366764"}],"curies":[{"name":"wp","href":"https:\/\/api.w.org\/{rel}","templated":true}]}}