$ftpItemVideo, 'type' => 'video', 'poster' => null]; } elseif ($itemThumb) { $ftpItemThumb = uploadToFTP($itemThumb, $ftp_host, $ftp_user, $ftp_pass, $ftp_path, $download_base_url); if ($ftpItemThumb) $mediaUrls[] = ['url' => $ftpItemThumb, 'type' => 'photo', 'poster' => null]; } } if (empty($mediaUrls)) $errorMsg = "Highlight not found or the content is private."; } elseif ($type === 'story') { if (!empty($data['video_url'])) { $ftpVideo = uploadToFTP($data['video_url'], $ftp_host, $ftp_user, $ftp_pass, $ftp_path, $download_base_url); if ($ftpVideo) $mediaUrls[] = ['url' => $ftpVideo, 'type' => 'video', 'poster' => null]; } elseif (!empty($data['thumbnail_url'])) { $ftpThumbnail = uploadToFTP($data['thumbnail_url'], $ftp_host, $ftp_user, $ftp_pass, $ftp_path, $download_base_url); if ($ftpThumbnail) $mediaUrls[] = ['url' => $ftpThumbnail, 'type' => 'photo', 'poster' => null]; } if (empty($mediaUrls)) $errorMsg = "Story not found or the content is private."; } else { $typeCode = $data['media_type'] ?? ($data['media'][0]['media_type'] ?? null); switch ($typeCode) { case 1: // Photo $img = $data['image_versions'][0]['url'] ?? ($data['media_url'] ?? null); if ($img) { $ftpUrl = uploadToFTP($img, $ftp_host, $ftp_user, $ftp_pass, $ftp_path, $download_base_url); if ($ftpUrl) $mediaUrls[] = ['url' => $ftpUrl, 'type' => 'photo', 'poster' => null]; } break; case 2: // Video $videoUrl = $data['video_url'] ?? ($data['image_versions'][0]['url'] ?? null); $posterUrl = $data['image_versions2']['candidates'][0]['url'] ?? ($data['thumbnail_url'] ?? null); if ($videoUrl) { $ftpVideo = uploadToFTP($videoUrl, $ftp_host, $ftp_user, $ftp_pass, $ftp_path, $download_base_url); $ftpPoster = $posterUrl ? uploadToFTP($posterUrl, $ftp_host, $ftp_user, $ftp_pass, $ftp_path, $download_base_url) : null; if ($ftpVideo) $mediaUrls[] = ['url' => $ftpVideo, 'type' => 'video', 'poster' => $ftpPoster]; } break; case 8: // Carousel $resources = $data['resources'] ?? []; foreach ($resources as $item) { if (isset($item['media_type']) && $item['media_type'] == 1) { $img = $item['image_versions'][0]['url'] ?? null; if ($img) { $ftpUrl = uploadToFTP($img, $ftp_host, $ftp_user, $ftp_pass, $ftp_path, $download_base_url); if ($ftpUrl) $mediaUrls[] = ['url' => $ftpUrl, 'type' => 'photo', 'poster' => null]; } } } break; } if (empty($mediaUrls)) $errorMsg = "No media found or the content is private."; } } } } else { $errorMsg = "Invalid URL."; } header('Content-Type: application/json; charset=utf-8'); if (!empty($mediaUrls)) { echo json_encode(['status' => 'success', 'media' => $mediaUrls, 'type' => $type]); } else { echo json_encode(['status' => 'error', 'message' => $errorMsg]); } exit; } ?>
Instagram is one of the most popular platforms in the world. Every day, millions of people share reels, photos, stories, and videos. It’s a place to find inspiration, follow trends, and connect with friends. But there’s one drawback: Instagram doesn’t let you download content directly. That’s why we created FollowMeter. It’s a free online tool that makes downloading Instagram media simple and fast. No apps, no sign-ups, no hidden fees. Just copy the link, paste it, and download.
FollowMeter works on Android, iPhone, and desktop. You can save reels, stories, posts, bios, or captions in high resolution, HD, or even 4K. We never ask for your Instagram login or personal information. All you need is the link to the content. Our servers run 24/7, so your downloads are quick and reliable. Your privacy and security matter. That’s why FollowMeter is safe to use and won’t put your Instagram account at risk.
The first step is to copy the link of the Instagram content you want to download. Open the app, find the reel, post, or story, and tap the three dots to copy the link.
Open the FollowMeter.app website and Paste the link into the input box, making sure it matches the post you want to save.
After pasting the link, all that’s left is to hit the download button. The downloader will prepare the file and The file is then ready to be saved directly to your phone, tablet, or computer.
Instagram Story Downloader is a simple online tool that lets you download Instagram Stories quickly and easily. It’s safe, fast, and reliable—allowing you to save Stories while keeping their original quality and clarity.
More InfoInstagram Reels Downloader is a free, fast, and easy-to-use online tool for saving Instagram Reels. Just copy the Reel link, paste it into the downloader, and save the video in high quality. It works on Android, iPhone, and desktop, while preserving the original resolution. The tool is safe, reliable, and perfect for offline viewing, sharing, or archiving your favorite Reels.
More InfoInstagram Profile Downloader is a free online tool that lets you view and download Instagram profile pictures in full size. Instead of blurry thumbnails or low-quality screenshots, you can instantly see display photos in HD or even 4K resolution. Just enter the username or paste the profile link, and the tool will generate the original image in seconds.
More InfoInstagram Highlights Downloader is a free, fast, and easy-to-use online tool for saving Instagram Highlights. Just copy the link of the Highlight you want, paste it into the downloader, and save videos or photos in high quality. It works on Android, iPhone, and desktop, while preserving the original resolution. The tool is safe, reliable, and perfect for offline viewing, sharing, or archiving your favorite Instagram Highlights.
More InfoYou can download Instagram posts, reels, stories, and highlight content using this tool.
No, you don’t need an Instagram account. Just paste the public URL of the content you want to download.
Yes, FollowMeter is completely free to use for downloading Instagram content.
No, this tool only works for public Instagram content. Private content cannot be downloaded.