Instagram Sponsorship & Promo Intelligence avatar

Instagram Sponsorship & Promo Intelligence

Pricing

from $3.00 / 1,000 results

Go to Apify Store
Instagram Sponsorship & Promo Intelligence

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

Scalogik LLC

Maintained by Community

Actor stats

0

Bookmarked

2

Total users

1

Monthly active users

3 days ago

Last modified

Categories

Share

Instagram Sponsorship & Promo Intelligence marketplace cover

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

CapabilityWhat you receive
Sponsorship evidenceStructured paid-partnership flags and explicit disclosure language such as #ad, #sponsored, paid partnership, affiliate disclosure, and selected multilingual labels
Promo-code extractionConservative codes found near cues such as “use code,” “promo code,” “Gutscheincode,” or 優惠碼
Offer extractionPercentage discounts such as 20% off or save 15%
Affiliate evidenceExplicit affiliate disclosures and links containing common affiliate/referral parameters
Brand relationshipsPaid partners, coauthors, tagged accounts, @mentions, and optional brand-keyword matches
CTA classificationLink in bio, shop now, buy now, order now, sign up, download, book, DM, and limited-time language
Creator aggregationOne deduplicated result per creator with scores, first/latest evidence dates, and up to ten evidence posts

Data-source options

Source modeInputCost and purpose
inlinerecordsFree core analysis for testing and integrations
datasetdatasetIdAnalyze records already stored in Apify
instagram_scraperinstagramUrls or searchQueriesConvenience mode using apify/instagram-scraper; upstream usage is separate
upstream_actorupstreamActorId and upstreamActorInputConnect 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

FieldDefaultDescription
sourceModeinlineinline, dataset, instagram_scraper, or upstream_actor
recordsDemo recordInline post or Reel objects; maximum 5,000 in the input UI
datasetIdEmptyExisting Apify dataset ID or name; URLs and tokens are rejected
instagramUrlsEmptyPublic post, Reel, profile, hashtag, or place URLs
searchQueriesEmptyInstagram hashtag-discovery terms for convenience mode
maxPostsPerSource30Per-source upstream safety cap; maximum 200
upstreamActorIdEmptyActor ID or username/actor-name
upstreamActorInputEmptySecret JSON input passed to the selected Actor
brandKeywordsEmptyBrand names or handles to match in captions
nicheKeywordsEmptyRequire at least one caption match before analysis
minimumConfidence35Minimum 0–100 creator lead score
requirePromoCodefalseReturn only creators with a detected code
requireSponsorshipSignaltrueExclude generic mention/CTA-only content
maxSourceRecords5000Hard processing cap; maximum 50,000
maxLeads500Hard result cap; maximum 10,000
includeEvidencePoststrueInclude 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 os
from apify_client import ApifyClient
client = 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:

EventPrice
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.

References