Instagram Sponsorship & Promo Intelligence
Pricing
from $3.00 / 1,000 results
Instagram Sponsorship & Promo Intelligence
Detect sponsored posts, promo codes, affiliate links, CTAs, and creator-brand relationships from Instagram post records.
Pricing
from $3.00 / 1,000 results
Rating
0.0
(0)
Developer
Scalogik LLC
Maintained by CommunityActor stats
0
Bookmarked
2
Total users
1
Monthly active users
3 days ago
Last modified
Categories
Share

Turn Instagram post records into deduplicated creator sponsorship, promo-code, affiliate, CTA, and brand-collaboration intelligence.
This Actor is an analysis layer, not another generic Instagram scraper. Supply post or Reel records inline, connect an existing Apify dataset, call Apify’s Instagram Scraper for convenience, or select another upstream Actor. The Actor normalizes common Instagram schemas and returns one ranked, evidence-backed row per creator.
Best for: DTC brands, affiliate managers, influencer agencies, competitor-research teams, and developers building creator-discovery or campaign-analysis pipelines.
Why use this Actor?
Raw Instagram scrapers return posts. This Actor turns those posts into a shortlist: who appears to promote brands, which promo codes and offers they use, which brands or collaborators appear in the evidence, what calls to action are present, and why each creator received its score.
The core analysis uses deterministic rules. It requires no LLM, browser, proxy, Instagram login, or paid third-party API. If you select an upstream Actor, that Actor’s usage is billed separately to your Apify account.1
| Capability | What you receive |
|---|---|
| Sponsorship evidence | Structured paid-partnership flags and explicit disclosure language such as #ad, #sponsored, paid partnership, affiliate disclosure, and selected multilingual labels |
| Promo-code extraction | Conservative codes found near cues such as “use code,” “promo code,” “Gutscheincode,” or 優惠碼 |
| Offer extraction | Percentage discounts such as 20% off or save 15% |
| Affiliate evidence | Explicit affiliate disclosures and links containing common affiliate/referral parameters |
| Brand relationships | Paid partners, coauthors, tagged accounts, @mentions, and optional brand-keyword matches |
| CTA classification | Link in bio, shop now, buy now, order now, sign up, download, book, DM, and limited-time language |
| Creator aggregation | One deduplicated result per creator with scores, first/latest evidence dates, and up to ten evidence posts |
Data-source options
| Source mode | Input | Cost and purpose |
|---|---|---|
inline | records | Free core analysis for testing and integrations |
dataset | datasetId | Analyze records already stored in Apify |
instagram_scraper | instagramUrls or searchQueries | Convenience mode using apify/instagram-scraper; upstream usage is separate |
upstream_actor | upstreamActorId and upstreamActorInput | Connect another compatible Actor you trust |
Apify datasets support JSON, JSONL, CSV, Excel, XML, HTML, and RSS exports.2 The Actor’s output schema also makes results discoverable to API and MCP clients.3
Quick start: inline records
{"sourceMode": "inline","records": [{"id": "campaign-001","ownerUsername": "samplecreator","ownerFullName": "Sample Creator","caption": "Paid partnership with @northstar. Save 20% when you use code STAR20. Shop now: https://shop.example/products?aff=samplecreator","url": "https://www.instagram.com/p/DEMO123/","timestamp": "2026-08-20T10:00:00Z","likesCount": 4200,"commentsCount": 180,"isPaidPartnership": true,"paidPartnershipPartners": ["northstar"]}],"minimumConfidence": 35,"requireSponsorshipSignal": true,"includeEvidencePosts": true}
Analyze an existing Apify dataset
{"sourceMode": "dataset","datasetId": "my-instagram-posts","minimumConfidence": 35,"requirePromoCode": false,"maxSourceRecords": 5000,"maxLeads": 500}
Collect and analyze public Instagram posts
{"sourceMode": "instagram_scraper","instagramUrls": ["https://www.instagram.com/nike/","https://www.instagram.com/adidas/"],"maxPostsPerSource": 30,"minimumConfidence": 35}
This mode calls apify/instagram-scraper. The upstream run is visible in the OUTPUT summary, and its charges are separate from this Actor’s creator-intelligence results.
Input reference
| Field | Default | Description |
|---|---|---|
sourceMode | inline | inline, dataset, instagram_scraper, or upstream_actor |
records | Demo record | Inline post or Reel objects; maximum 5,000 in the input UI |
datasetId | Empty | Existing Apify dataset ID or name; URLs and tokens are rejected |
instagramUrls | Empty | Public post, Reel, profile, hashtag, or place URLs |
searchQueries | Empty | Instagram hashtag-discovery terms for convenience mode |
maxPostsPerSource | 30 | Per-source upstream safety cap; maximum 200 |
upstreamActorId | Empty | Actor ID or username/actor-name |
upstreamActorInput | Empty | Secret JSON input passed to the selected Actor |
brandKeywords | Empty | Brand names or handles to match in captions |
nicheKeywords | Empty | Require at least one caption match before analysis |
minimumConfidence | 35 | Minimum 0–100 creator lead score |
requirePromoCode | false | Return only creators with a detected code |
requireSponsorshipSignal | true | Exclude generic mention/CTA-only content |
maxSourceRecords | 5000 | Hard processing cap; maximum 50,000 |
maxLeads | 500 | Hard result cap; maximum 10,000 |
includeEvidencePosts | true | Include up to ten compact evidence posts per creator |
Supported input aliases
The normalizer supports common fields used by Instagram Actors and datasets. Examples include caption, text, description, ownerUsername, username, user_posted, postId, post_id, shortCode, url, date_posted, likesCount, num_comments, video_view_count, mentions, tagged_users, coauthor_producers, is_paid_partnership, and has_handshake.
Records without a creator identity or caption are skipped and counted in OUTPUT. Duplicate posts are matched by ID, shortcode, URL, or a deterministic fingerprint.
Output
The default dataset contains one row per creator:
{"recordType": "creator_sponsorship_intelligence","creatorUsername": "samplecreator","creatorName": "Sample Creator","creatorProfileUrl": "https://www.instagram.com/samplecreator/","leadScore": 83,"confidenceTier": "high","commercialPosts": 1,"totalPostsAnalyzed": 1,"sponsorshipSignals": ["paid_partnership", "structured_paid_partnership"],"promoCodes": ["STAR20"],"discountOffers": ["20% off"],"affiliateLinks": ["https://shop.example/products?aff=samplecreator"],"brandPartners": ["northstar"],"brandMentions": ["northstar"],"collaborationPartners": ["northstar"],"ctaTypes": ["shop_now"],"firstSeenAt": "2026-08-20T10:00:00.000Z","lastSeenAt": "2026-08-20T10:00:00.000Z","topEvidenceUrl": "https://www.instagram.com/p/DEMO123/","methodVersion": "0.1.0"}
The non-billable OUTPUT record contains the completion status, source metadata, filters, counts, skipped-record reasons, and truncation indicators. Credential-like fields are removed recursively before source diagnostics are stored.
API usage
Replace <USERNAME> and <APIFY_TOKEN> with your Actor owner and Apify API token.
JavaScript
import { ApifyClient } from 'apify-client';const client = new ApifyClient({ token: process.env.APIFY_TOKEN });const run = await client.actor('<USERNAME>/instagram-sponsorship-promo-intelligence').call({sourceMode: 'dataset',datasetId: 'my-instagram-posts',minimumConfidence: 35,});const { items } = await client.dataset(run.defaultDatasetId).listItems();console.log(items);
Python
import osfrom apify_client import ApifyClientclient = ApifyClient(os.environ["APIFY_TOKEN"])run = client.actor("<USERNAME>/instagram-sponsorship-promo-intelligence").call(run_input={"sourceMode": "dataset","datasetId": "my-instagram-posts","minimumConfidence": 35,})for item in client.dataset(run["defaultDatasetId"]).iterate_items():print(item)
cURL
curl -X POST \"https://api.apify.com/v2/acts/<USERNAME>~instagram-sponsorship-promo-intelligence/runs" \-H "Authorization: Bearer $APIFY_TOKEN" \-H "Content-Type: application/json" \-d '{"sourceMode":"dataset","datasetId":"my-instagram-posts"}'
The Apify API can start Actors, retrieve datasets, inspect runs, and manage tasks programmatically.4
Scoring method
Each post receives a deterministic 0–100 confidence score. Structured paid-partnership metadata and explicit disclosures carry the greatest weight. Promo codes, affiliate signals, collaboration partners, brand mentions, discounts, and CTAs add smaller weights. Evidence diversity adds confidence, while generic CTA-only posts remain below the default threshold.
Creator scores combine the strongest post, repeated commercial evidence, unique partner relationships, promo-code evidence, and disclosure quality. The method is versioned in every row so downstream systems can reproduce or audit changes.
Pricing
Recommended launch pricing uses Apify pay per event:
| Event | Price |
|---|---|
apify-actor-start | $0.00005 per run |
apify-default-dataset-item | $0.003 per creator-intelligence result |
Apify recommends the synthetic Actor-start event and notes that it covers the first five seconds of compute when enabled.5 One default-dataset item maps directly to one visible, deduplicated creator result. Inline and dataset analysis have no paid external dependency; upstream Actor usage is separate.
Accuracy and limitations
A reproducible evaluation on 1,000 public sample records passed all structured paid-partnership labels when full metadata was present. Caption-only detection was deliberately conservative and did not recover partnership labels whose captions lacked supported disclosure language. Review ./QA_REPORT.md before publishing claims.
This Actor does not:
- infer every undisclosed sponsorship;
- determine whether a contract exists;
- classify image-only disclosures;
- access private Instagram content;
- contact creators or automate outreach;
- guarantee legal, advertising-standard, or platform-policy compliance.
A promo code or sales CTA can represent self-promotion rather than a third-party sponsorship. For that reason, every result includes its evidence instead of presenting the score as fact.
Responsible use
Process only public or otherwise authorized data. Apply appropriate retention, security, privacy, and outreach controls. Public social data may still contain personal data; assess your lawful basis and applicable obligations before storing or using it. This independent Actor is not affiliated with, endorsed by, or sponsored by Instagram or Meta.
Support
When reporting an issue, include the run ID, source mode, a sanitized example record, expected result, and observed result. Never post API tokens, cookies, session values, or private datasets in a public issue.