Instagram Facebook Brand Presence Mapper avatar

Instagram Facebook Brand Presence Mapper

Pricing

from $3.50 / 1,000 company checkeds

Go to Apify Store
Instagram Facebook Brand Presence Mapper

Instagram Facebook Brand Presence Mapper

Resolves a company domain to its Instagram, Threads and Facebook accounts and returns follower and post counts from the public Open Graph cards. Threads is derived free from the Instagram handle. Flat, Clay ready, one row per company.

Pricing

from $3.50 / 1,000 company checkeds

Rating

0.0

(0)

Developer

Mamba Labs

Mamba Labs

Maintained by Community

Actor stats

0

Bookmarked

2

Total users

1

Monthly active users

4 days ago

Last modified

Features

Limited permissions

Share

🔎 What can Instagram Facebook Brand Presence Mapper do?

Give it a company domain and it returns that company's Instagram, Threads and Facebook presence in one flat row: profile URLs, handles, follower counts and post counts.

📦 What you get⚙️ Features and integrations
📸 Instagram, Threads and Facebook accounts from one domain
👥 Follower and post counts per platform
🧵 Threads derived free from the resolved Instagram handle
🧾 34 flat fields, snake_case, one row per company
🌐 Three platforms in one call, priced as one company check
🃏 Public Open Graph cards, no login and no API key
🎚️ platforms input to skip the networks you do not need
⬇️ Export to JSON, CSV, Excel, HTML or XML

Bought by consumer brand and retail sellers, agency new business teams, and influencer platforms sizing brand audiences across the Meta family in one row.

🚫 This is not a post, ad or comment scraper. It returns account level presence and counts. For a company's advertising, that is a different question and a different dataset entirely.

💡 Why use Instagram Facebook Brand Presence Mapper?

Threads costs you nothing extra here, and that is a measurement rather than a claim. Threads handles are Instagram handles: 5 of 5 measured across stripe, figma, supabase, shopify and hubspot. And 0 of 14 B2B homepages declare a Threads link at all. So a standalone Threads tool has nothing to read and has to pay a web search to rediscover a handle this actor already holds. Once Instagram resolves, Threads is one string substitution.

It tells you which numbers are rounded. Instagram renders "3M". Threads renders "306.9K". Those are the platforms rounding, not us. Both the expanded integer and the platform's own string are on the row, plus a flag, so you know before you sum a column.

It tells you when Facebook refused. Meta serves a login wall to anonymous clients on Pages. This actor reports blocked, which means unknown. It does not report zero.

🧭 One user agent decision carries all three

Meta serves its own link preview crawler an Open Graph card and serves an anonymous browser a JavaScript shell with the counts stripped out. Measured on the same URLs on the same day: Instagram returns 718,863 bytes with "3M Followers, 1,832 Following, 3,707 Posts" to the crawler, and 612,000 bytes of empty shell to a browser.

So all three platforms are read from the card Meta publishes for previews. No login, no API key, no browser automation.

📋 What data can Instagram Facebook Brand Presence Mapper extract?

Every row carries 34 flat fields. These are the ones a buyer actually filters and sorts on.

FieldTypeMeaning
degradedbooleanTrue when this row could not be produced normally, for example the company site was unreachable and no discovery could run. A degraded row is never charged.
degradation_reasonstring | nullWhy the row is degraded, in plain words. Null on a normal row.
company_domainstring | nullThe company domain this row is about, normalized. Null when only a handle or a name was supplied. This is the join key across the whole Mamba Labs fleet.
company_namestring | nullThe company name as supplied or derived. Improves search accuracy and is what the identity gate matches against.
platforms_checkedinteger | nullHow many of the three Meta surfaces were requested and attempted on this row.
platforms_foundinteger | nullHow many of those resolved to a trustworthy account.
instagram_urlstring | nullCanonical Instagram profile URL, or null when none was found.
instagram_handlestring | nullThe resolved Instagram handle. This is also the Threads handle: 5 of 5 measured.
instagram_followersinteger | nullFollower count expanded from what Instagram renders. Instagram serves "3M", not the integer, so read instagram_followers_exact before summing.
instagram_followers_displaystring | nullExactly what Instagram rendered, for example "3M". Kept alongside the expanded number so you can always see what the platform actually said.
instagram_followers_exactboolean | nullFalse whenever a K, M or B suffix was expanded, because the suffix is the rounding. True only when Instagram served every digit.
instagram_followinginteger | nullHow many accounts this account follows.
instagram_postsinteger | nullPost count on the account. Zero is a real answer and means a registered but unused account.
instagram_discoverystring | nullHow the account was found: input_handle, homepage_sameas, homepage_link, search or pattern_guess.
instagram_statusstringok, not_found, not_extractable, blocked, identity_mismatch, auth_failed or skipped.
threads_urlstring | nullCanonical Threads profile URL. Derived from the Instagram handle at no extra discovery cost.
threads_handlestring | nullThe Threads handle, which is the Instagram handle. Null when Instagram did not resolve, because a Threads guess with no Instagram behind it has no evidence at all.
threads_followersinteger | nullFollower count expanded from what Threads renders, for example "306.9K". Read threads_followers_exact before summing.
threads_followers_displaystring | nullExactly what Threads rendered, for example "306.9K".
threads_followers_exactboolean | nullFalse whenever a suffix was expanded. True only when Threads served every digit.
threads_postsinteger | nullNumber of threads posted on the account.
threads_statusstringok, not_found, not_extractable, blocked, identity_mismatch, auth_failed or skipped. not_found here usually means the company has an Instagram account and never opened Threads, which is a real and common answer.
facebook_urlstring | nullCanonical Facebook Page URL, or null when none was found. The URL is far more reliable than the count on this platform.
facebook_handlestring | nullThe Page handle or vanity path.
facebook_followersinteger | nullFollower count where Meta served one. Frequently null: Meta serves a login interstitial to anonymous clients and blocks aggressively. Read facebook_status first.
facebook_followers_displaystring | nullExactly what Facebook rendered, where it rendered anything.
facebook_followers_exactboolean | nullFalse whenever a suffix was expanded. True only when Facebook served every digit.
facebook_likesinteger | nullPage likes where served. Distinct from followers on a modern Page.
facebook_discoverystring | nullHow the Page was found: input_handle, homepage_sameas, homepage_link, search or pattern_guess.
facebook_statusstringok, not_found, not_extractable, blocked, identity_mismatch, auth_failed or skipped. blocked is the NORMAL answer here rather than an incident: Meta refuses anonymous clients on Pages most of the time.
run_datestringISO 8601 timestamp of this run. Social counts move, so a row without a date is a number with no shelf life.
row_statusstringok, partial or error. partial means a platform status is blocked, auth_failed or not_extractable; error means the row is degraded.
error_reasonstring | nullWhy the row is partial or an error, in plain words. Null on an ok row.
billable_events_jsonstringThe charges this row caused, as a JSON array, for example [{"event":"company-checked","count":1}]. [] when the row was free.

⚠️ How to read these values. threads_handle is null whenever Instagram did not resolve. That is deliberate: the 5 of 5 evidence is about Instagram handles, and a Threads guess with no Instagram behind it would carry none of it.

🛠️ How to map a company's Meta presence

  1. Put a company domain in company_domain.
  2. Use platforms to pick which of the three you want. Dropping facebook is the common choice and it makes the run cheaper and faster.
  3. If you already know the Instagram handle, put it in handle. That skips Instagram discovery and gives Threads its handle for free.
  4. For a list, pass an array of objects. Or put the domains in company_domains, one per line, on the Console form.

🧪 Using it in Clay

Add an Enrichment > Apify column, pick this actor, map company_domain. All three platforms arrive as flat columns on one row, so you get Instagram, Threads and Facebook from a single credit rather than three.

For consumer brand qualification, instagram_followers plus threads_posts is a useful pair: a large Instagram account with zero Threads posts is a brand that has not moved yet.

💵 How much does it cost?

Pay per event. Each run also carries Apify's apify-actor-start event, $0.00005 per GB of run memory, charged once when the run starts (one event at the default memory). Everything else is charged per row of output.

EventFires whenPrice
apify-actor-startOnce per run, when the run starts. Apify's own start event, one per GB of run memory.$0.00005
company-checkedOnce per company for which the discovery cascade completed and a non degraded row was produced, whether or not any Meta platform resolved. Does not fire on a degraded row, because on a degraded row the company site was never read and no presence was measured.$0.0050
platform-resolvedOnce per REQUESTED Meta platform whose candidate URL passed the identity gate. Fires on the validation work, not on a populated follower cell. A candidate dropped as an impersonator does not charge: the work was done and the answer is that there is no such profile. A platform the caller did not request never fires it.$0.0030
follower-count-extractedOnce per Meta platform where a numeric follower count was read off the public Open Graph card. Does not fire on not_extractable, blocked, identity_mismatch or a URL only run. Facebook therefore often does not fire it, which is correct: it is the platform we most often cannot read.$0.0025

💳 What you are billed for. platform-resolved fires per platform you REQUESTED and resolved, so a run limited to ["instagram","threads"] cannot bill you for Facebook.

A blocked Facebook fetch charges the resolution event, because the URL was found and validated, and does not charge the extraction event, because no number was returned.

What the same coverage costs bought a la carte: Bought separately at Store list prices: apify/instagram-profile-scraper $0.0026, apify/threads-profile-api-scraper $0.0050, apify/facebook-pages-scraper $0.0120, so $0.0196 for the three. Every one of them requires the handle or the page URL as input. This actor resolves all three from a domain, and it derives the Threads handle from the Instagram one for nothing, which is a step none of those three performs.

Free plan: free Apify plan users get 600 results a month, reset on the 1st of each month. Any paid Apify plan removes the cap.

Cost cap: set max_charge_usd and the run stops before starting a company that could take it past that amount. The run also stops cleanly when the maximum cost per run you set in Apify is reached, and keeps every row already charged.

⌨️ Input

FieldTypeRequiredMeaning
company_domainstringnoBare company domain, for example shopify.com. Supply this or a handle. With a domain the actor runs full discovery; with a handle it skips straight to the fetch.
company_domainsarraynoOptional. A list of bare company domains, one per line. One row per domain. When filled it is used instead of company_domain.
company_namestringnoOptional. Improves search accuracy and is what the identity gate checks a discovered profile against, so supplying it reduces wrong matches.
handlestringnoOptional. The Instagram handle with or without the leading @. Supplying it skips Instagram discovery AND gives Threads its handle for free, because Threads handles are Instagram handles (5 of 5 measured).
platformsarraynoWhich of the three Meta surfaces to map. Default is all three. Dropping Facebook is the common choice: it is the least reliable of the three and it costs a fetch to find that out.
includeFollowerCountsstringnoWhen "true" (default) the profile page is fetched and the counts are extracted. Set "false" to resolve the profile URL only, which is cheaper and needs no proxy. Sent as a string for Clay compatibility.
skipCachestringnoWhen "false" (default) a successful lookup is cached for seven days and reused. Set "true" to force a fresh fetch. Sent as a string for Clay compatibility.
max_charge_usdnumbernoOptional. Maximum charge for this run in USD. The run stops before starting a company that could take its charges past this amount. Leave empty to rely on the maximum cost per run set in Apify.
{
"company_domain": "shopify.com",
"company_name": "Shopify",
"platforms": [
"instagram",
"threads",
"facebook"
]
}

📤 Output

Exports to JSON, CSV, Excel, HTML or XML. One flat, snake_case row per company. No nested objects, so it drops straight into Clay, a spreadsheet or a warehouse table without a flattening step.

{
"degraded": false,
"degradation_reason": null,
"company_domain": "notion.com",
"company_name": "Notion",
"platforms_checked": 1,
"platforms_found": 1,
"instagram_url": "https://www.instagram.com/notionhq/",
"instagram_handle": "notionhq",
"instagram_followers": 485000,
"instagram_followers_display": "485K",
"instagram_followers_exact": false,
"instagram_following": 151,
"instagram_posts": 350,
"instagram_discovery": "homepage_link",
"instagram_status": "ok",
"threads_url": null,
"threads_handle": null,
"threads_followers": null,
"threads_followers_display": null,
"threads_followers_exact": null,
"threads_posts": null,
"threads_status": "skipped",
"facebook_url": null,
"facebook_handle": null,
"facebook_followers": null,
"facebook_followers_display": null,
"facebook_followers_exact": null,
"facebook_likes": null,
"facebook_discovery": null,
"facebook_status": "skipped",
"run_date": "2026-08-22T12:47:41.744Z",
"row_status": "ok",
"error_reason": null,
"billable_events_json": "[{\"event\":\"company-checked\",\"count\":1}]"
}

false versus null, and why the difference matters

false means we looked and the answer is no. null means we could not look, or the platform withheld it. They are never interchangeable in this output. If you filter for companies with no presence on this platform, filter on false, because null rows are unknown rather than absent and including them will overstate your list.

💡 Tips

  • Drop Facebook unless you need it. It is the least reliable of the three and it costs a fetch to discover that.
  • Read the _display columns. "3M" tells you more about the precision of the number than 3000000 does.
  • A big Instagram with no Threads is a signal, not a gap. It usually means the brand has not adopted the newer network.
  • Supply the Instagram handle when you have it. It pays for itself twice, once on Instagram and once on Threads.

⚠️ Known limits

  • Instagram, Threads and Facebook all round their counts. There is no exact figure on the card for a large account. The _exact flags mark every row where that applies.
  • Facebook is best effort and frequently blocked. Meta serves a 427 KB login interstitial to anonymous clients and blocks aggressively. This is a known, measured, carried across ceiling: a previous Mamba Labs actor recorded 590 upstream failures on this exact path and makes one bounded attempt because retry does not recover. Expect blocked, and read the URL, which is reliable.
  • No posts, comments, reels, stories or engagement. Account level presence and counts only.
  • A private Instagram account still returns a card with counts, but no content. That is Instagram's behavior, not ours.
  • Follower counts are a public vanity metric, a proxy for reach rather than a measurement of it.

❓ FAQ

Why is Facebook so often blocked when Instagram works? Meta treats Pages differently from Instagram profiles for anonymous clients. Pages get a login interstitial. This is Meta's choice and no logged out tool gets around it reliably.

How can Threads be free? Because its handle is the Instagram handle, measured 5 of 5. Once Instagram resolves there is no discovery left to do, only one fetch.

Why are Instagram counts rounded? Instagram renders "3M" on the card. The exact number is not on the wire. instagram_followers_display shows you exactly what the platform said.

Can I get just Instagram? Yes. Set platforms to ["instagram"]. You are then billed for one platform, not three.

Does this need a login or an API key? No.

🧩 Want other GTM data?

Mamba Labs builds a fleet of GTM enrichment actors that share one flat, Clay-ready output convention, so their rows join on company_domain with no cleaning step:

ActorActor ID
Account Hiring WatchgRAZA5WBi1r6L0gy7
Agent Accessibility AuditoranxbRv0lKrpQ1pnua
Agent to Brokerage ResolverePRRGLxOGyaVHO4dI
AI Answer Visibility TrackerRJZvzKniYK4nswcMg
AI List Extractor for Any WebsiteD5hOdIez45M0NX5jD
AI Tooling DetectorEwkHhmqiuJgRoVEbE
Amazon Product, Price, and Stock TrackerMtJPZoyjJ3IeqTFyo
API Deprecation and Breaking Change MonitorpHsbS3xXUK8Jqutz5
App Store and Google Play Review MonitorMaCMEhGrbchxQZ92G
B2B Reddit Conversation MonitorSoDryzzsjmY3SsiyG
Bluesky Brand Presence MappereLpxzP4IuXznlFVND
Bluesky Posts ScraperKldSjS7wjoeZ7vQGm
Brand Sponsor FinderPPgK6xrgOmvL7Nrys
Bulk WHOIS and RDAP Domain Age LookupMTrkG5FLU6SjqLdJY
Career Change Signal EnginevX2Yga1a6wGaXaP14
Company Careers Page Jobs, 17 ATS BoardsizP0rfIgf5YaRZfIh
Company Change Event FeedoX44rS0fkEJ3rXLWe
Company Discovery List Builderjch0HdaZnpbMqlcGS
Company Firmographic EnricherYlUtLWjfPpqykmB8g
Company Funding RecordOFS4Mt1gyYNtGfUbE
Company Headcount EstimatoraHC4GROnNt6kfZe5r
Company Identity Resolverlr8fTRAmZCBZmuwwh
Company Role Email, Phone and Address Finder4mMncKaJykiq94grz
Company Social Presence Mapper4k6CCemkgBDz18m2h
Competitor Price, Stock, and Changelog MonitoryxdgCbUQ4PYQWwRNU
Contact Classifier0lGSeYJmniXhGANnO
Contractor License Search, CA, TX, WA, OR, LAWBYK3CPI2kdeq4bP1
CRM Contact Job Change CheckerL8UbEmMJC1XYPSZOb
Domain Deliverability Checker0tVgxI7A6o9jMlxmc
Domain to LinkedIn URL Resolver3HtnSaqPHOg1Qg5gx
Ecommerce Platform Profiler5G2NeYjBbQTjaTn9L
Ecommerce Store DiscoveryPeHu4sLyFvQHXUUrX
Email List Verifier, Bring Your Own KeyCzVJ4NlaCKk80xpgE
Event Presence IndexWLhMy8fMDgsxdYxv5
Expert Witness Finder, US and AustraliaLIpwlgfE3LaQBaXd4
Facebook Posts ScraperT6jxIeq4ua0SLXnqG
Funding and Press Signal ScannerFS13X6dhQVgX3XOM6
GDPR Cookie Banner and Consent CheckerTrKyOS0KBoGC35nbr
GitHub Followers and Following ExportSGNxDmFb9v3tRDaFI
GitHub Organization Signal ScannerahF8RRpv5mzPao5CN
Google Ads Transparency Center Scraper by Domain1eOwxhBVxzvOXAm4s
Google Maps Places ScraperSuvHCNJ7pIuw6gn54
Google Trends ScraperOeDzaACKmBYJXzHZk
GTM Hiring Signal ScraperD7O1SA2EqwHGsGr1P
GTM Signals AggregatorxKdRfnfFNkdMpFuNs
Healthcare Provider NPI EnricherMrgbHzcpDq3mOv9Df
ICP Fit ScorerW161DT8W4kW55dMFh
Influencer Change Monitord2VVgahNL6UmcLkhg
Influencer Lead List BuilderKnmByszcv135yM30G
Influencer Profile ScraperEqEnklDVMIcB1V499
Influencer Search Across TikTok, Instagram and YouTubetpkedmloIIWtXx6sg
Influencer Talent Agency LookupzCuX4Mgyg6JvXgGzd
Instagram Facebook Brand Presence MapperHXh65I0JBjPsunbY8
Integration and Marketplace Presence MapperV0guNuvM85Q61f2gj
Job Board Keyword Signal Scanner4DvqpvhMR74NLcDDY
Job Posting MonitorQCfICD9kOPiOdj5iI
Journalist and Media List BuildermAfizsZC8qRoR0ecS
Launch Directory List BuildercRq3bmvEZxZtioQ7U
Lead File Import CheckerRwlGVXTf46LqZdUgt
Legal Entity ResolverKHFyPCDIx7CyqULYm
Link in Bio Scraper and Newsletter DetectorOorucdheTIgu7RFzK
LinkedIn Company Page MapperzOPm6A9JEhUGcIdFW
LinkedIn Jobs FeedSH6N0d8cz46BhCC8B
LinkedIn Post TrackeroiGLNPuaf5BRaz9K5
Local Business Lead BuilderqMN97aoHhsAS5bznV
Local Rank and Map Pack Trackergv0kyHGDIg8XscclB
Lookalike Companies from Seed Domainse2O426WBAbLLQL4Z2
Manufacturer and Supplier FinderQcsdmd0lUfPzVkonh
MCP Server Change and Health MonitorIeqjWF9U0BdDQFY08
Media URL TranscriberSyfr7Ya3EsHgWfrB6
Meta Ad Library Ads by Company, Graph APIJ1GWlSXfSGU3u8Wng
Mobile Phone Waterfall6OOgPktf7RIa5XCOP
New Hire FindercKuc38p4nYHNF3IW8
Newly Registered Companies, UK, Norway, Finland, Franceg2WfZhWvCtc57g2Jo
News and Media Mention Monitorgol1PPUKrsIk4QLBd
Newsletter Sponsor TrackerqSwpqxD1TiPZpLQHv
Open Tender and RFP FinderkPTGz6t6TFoUUyfaO
Outbound Stack Detectorv43UJC8r7qW7cBSTG
Page Finder and ExtractorTpurgcOZbVnknlaiC
Partner and Member Directory ExtractorZX0XJPPUvnFJxeC1a
People Finder & Email VerifierLEgloG7tWgQl4o6TD
Person LinkedIn URL ResolverssuyPV8LnEsL8qbnb
Person Social Footprint MapperjfQXa2zW9FHCJot9K
Personal Email to Company ResolverAefT5Ye6YNPFQwJBf
Pinterest Brand Presence Mapperd1HvjZfKhgvWsoEwn
Podcast Guest and Host Findero2MGSvgbSLeeXOsIo
Product Hunt Daily Launches with Maker DomainsO4VX63drWK9Y9x641
Prospect Engineq9rT6v64nUJdPexOQ
Public Feature Board and Roadmap MonitorrcHF5gj5r2Vqnry35
Publishing Frequency TrackerTbLwaUUATdYb6wp4N
Recent Funding Rounds FeedKueVp9MOz7iOoAgDp
Reddit Brand Presence MapperpKQZmDaT70SEb54bZ
Reddit Search and Thread Scraper4Gsth5cP2Xt9V2xDN
Reporting Window FinderuINxR7a1IW8qUTRUX
Research Topic Institutions and AuthorsOH8ANqt7bCKbo72Gk
Sequencer Event PollerS6s8Rjd61tGdrMRk4
Sequencer Lead Push0Jv27VeWM5tSZQs9x
Shopify App Store and Chrome Web Store ListingsgaY0BzkLyN77mD3wI
Site Crawler for Links and TableslLLJ6JxZ4XqN8ULz0
Substack Newsletter and Posts ScraperUEFsdwiPLmPNVy9xd
Team Page People Extractorj8a9zX0k4mNbvDbWK
Tech Stack Signal Detectorqyd7nNyqFPelQViBx
Tennis Match Datav3OX6zxXHZOf2yurO
Threads Posts by Keyword, Exact Match2OT8K8RiEEWtaj2MW
TikTok Brand Presence Mapperfco8FvoJcSafbeyd1
Trustpilot Reputation Enricher3lIqfCt61j4hqE1xz
US and UK Contract Award Winners by CompanyzhEtllASykOcx9hJ8
US Import Records Buyer FinderVIMafpKF5ggOw0COU
VC and Accelerator Portfolio List BuilderchH8hrfuoqqolW06m
Website Accessibility Checker, WCAG 2.2 AAP3jBj3FRghKEhX52z
Website Phrase and Business Model ClassifierCBuZ9k7sRwBeiKiCS
Website Traffic Rank EstimatorGnOFUzlNVIoXgeJjH
Work Email WaterfallOT6xqTFThC0Rjf7Zj
Workplace Program DetectorLi6pPDhqbdzFz3h7G
X Brand Presence MapperoLOgadhHUkNAyDA3w
YouTube Channel from Company Domain6hSpD3kd2s2IQ4VSs
Zillow Listing DetailsyG4zM0Enfsw2NefJ1

Every actor in the suite takes a domain or a company and returns one flat row, so they stack in the same Clay table without reshaping anything.

🆘 Support

Issues, field requests and bug reports: open an issue on the actor's Issues tab. Mamba Labs reads every one.

ℹ️ Sourcing and legal. Fields are read from the public Open Graph cards Meta serves to any unauthenticated visitor. Counts are public vanity metrics and Instagram rounds them above roughly ten thousand, which instagram_followers_exact marks. You are responsible for how you use the output.

Built by Mamba Labs.