{"uid":"cap_mVRBTQc4Eac-WQmLmr6Wv","slug":"apify-instagram-hashtag-scraper-1190d1dd","name":"Apify Instagram Hashtag Scraper","description":"Start the \"Instagram Hashtag Scraper\" Apify actor (apify/instagram-hashtag-scraper). Scrape Instagram posts and reels by hashtags. Just add one or more hashtags and extract captions, locations, likes, plays, shares, comments count, images, time… Returns a signed token for polling /api/actors/results with SIWX.","url":"https://apify-api-git-br-apify-typed-input-schemas-merit-systems.vercel.app/api/actors/apify/instagram-hashtag-scraper/call","method":"POST","headers":{},"bodySchema":{"type":"object","$schema":"https://json-schema.org/draft/2020-12/schema","required":["input"],"properties":{"input":{"type":"object","required":["type","method","bodyType","body"],"properties":{"body":{"type":"object","$schema":"https://json-schema.org/draft/2020-12/schema","properties":{"input":{"type":"object","required":["hashtags","resultsType"],"properties":{"hashtags":{"type":"array","items":{"type":"string"},"description":"Type in or paste the hashtag with or without # symbol. Use the &#43; Add button to add more hashtags."},"resultsType":{"enum":["posts","reels","stories"],"type":"string","default":"posts","description":"Choose whether to scrape posts or reels for the selected hashtags. ❗Please note that the stories type has been deprecated. It used to return reels data, which wasn’t aligned with its purpose. Please use reels instead."},"resultsLimit":{"type":"integer","maximum":9007199254740991,"minimum":1,"description":"Set the maximum number of results (reels or posts) you want to scrape. If you set this to 5 , you will scrape 5 posts for each hashtag you provide. With this setup, if you decide to add 7 different hashtags, you will scrape 35 posts altogether. ⚠️ Free usage covers just the first page of results. To get more pages, Upgrade your plan ."},"keywordSearch":{"type":"boolean","description":"Enable this option if you want to get posts or reels by a specific keyword. The dataset will be slightly different than the one produced by hashtag."}},"description":"Normalized actor input. See field descriptions for the simplified shape; native Apify input also accepted (passed through).","additionalProperties":{}},"options":{"type":"object","properties":{"build":{"type":"string","maxLength":100,"minLength":1},"memory":{"type":"integer","maximum":32768,"minimum":128},"maxItems":{"type":"integer","maximum":100000,"minimum":1}},"description":"Optional Apify run options.","additionalProperties":false}},"additionalProperties":false},"type":{"type":"string","const":"http"},"method":{"enum":["POST","PUT","PATCH"],"type":"string"},"bodyType":{"enum":["json","form-data","text"],"type":"string"}},"additionalProperties":false}}},"responseSchema":null,"example":{"request":{"input":{"hashtags":["travel","photography"],"resultsType":"posts","resultsLimit":5},"options":{"memory":1024,"maxItems":10}},"response":{"run":{"id":"lN6kzjBSAcMBJcVdG","status":"READY","actorId":"reGe1ST3OBgYZSsZJ","startedAt":"2026-06-16T18:48:12.085Z","usageTotalUsd":0,"defaultDatasetId":"j6I2KrLXAD3T1zOxr"},"token":"eyJhbGciOiJIUzI1NiJ9.eyJydW5JZCI6ImxONmt6akJTQWNNQkpjVmRHIiwiYWN0b3JJZCI6ImFwaWZ5L2luc3RhZ3JhbS1oYXNodGFnLXNjcmFwZXIiLCJkZWZhdWx0RGF0YXNldElkIjoiajZJMktyTFhBRDNUMXpPeHIiLCJ3IjoiMHg5Y2M0MmYzZDkyNDViODY3YWNjY2Q2MzBiNDNmOTA2YzE2NjViMTc2IiwiaWF0IjoxNzgxNjM1NjkyLCJleHAiOjE3ODQyMjc2OTJ9.sfoxnsLFvAOGHX1DIZdFyhYTrt3d_DEZm9YpToFMFMo"}},"exampleRequest":{"input":{"hashtags":["travel","photography"],"resultsType":"posts","resultsLimit":5},"options":{"memory":1024,"maxItems":10}},"tags":["x402"],"displayCostAmount":"0.1","displayCostAsset":"USDC","priceDynamic":false,"priceHint":null,"priceStatus":"priced","priceSource":"settled","requiresHandshake":false,"reviewCount":0,"rating":{"score":"0.00","successRate":"0.00","reviews":0,"stars":null,"state":"unrated"},"availabilityStatus":"unknown","priceObserved":null,"sessionDeposit":null,"pricing":{"kind":"static","summary":"$0.1/call","primary":{"kind":"static","protocol":"x402","network":"base","amountUsd":"0.1","per":"call","confidence":"exact"},"accepted":[{"kind":"static","protocol":"x402","network":"base","amountUsd":"0.1","per":"call","confidence":"exact"}]},"paymentMethods":[{"uid":"pm_kxJx2kLhETGoEvEO2WyTV","protocol":"x402","methodType":"crypto","chain":"base","mode":"charge","costAmount":"0.1","costPer":"request","priority":0,"asset":null,"unit":"request","depositMicros":null,"planRef":null}],"brandName":null,"brandSlug":null,"brandBaseUrl":null,"brandDocsUrl":null,"whatItDoes":"Scrapes Instagram posts and reels by one or more hashtags, extracting captions, locations, likes, plays, shares, comment counts, images, and timestamps.","exampleAgentPrompt":"Scrape Instagram posts for the hashtags #travel and #adventure — I need the captions, likes, plays, comment counts, images, and posting times for recent posts.","exampleUseCases":null,"resultDescription":"Returns a signed token that can be used to poll /api/actors/results with SIWX to retrieve the scraped Instagram post data including captions, locations, likes, plays, shares, comments count, image URLs, and timestamps.","failureModes":["Invalid or non-existent hashtag returns empty result set","Instagram rate limiting or anti-scraping measures may cause partial results","Payment failure (insufficient USDC balance) returns 402 error","Actor execution timeout for very large hashtag volumes","Private or restricted content not accessible"],"whenToPreferThis":"Use this endpoint when you need to bulk-extract Instagram post data organized by hashtag, including engagement metrics and media details. Prefer this over manual browsing or other scrapers when you need structured data (captions, likes, plays, timestamps) at scale for social listening, influencer research, or content analysis.","instructions":null,"reviewSummary":null,"reviewSummaryHighlights":null,"reviewSummaryConcerns":null,"reviewSummaryGeneratedAt":null,"activationCount":0,"lastUsedAt":null,"lastSuccessfullyRanAt":null,"lastHealthCheckAt":"2026-09-14T12:39:04.090Z","isFirstParty":false}