Skip to content
Schedule Social Media

Press Esc to close.

Meta API use cases: which one to pick when you create an app

Meta API use cases by job: Instagram publishing, Facebook Pages or Threads, with the login, API host and permissions that Meta's own sample code uses for each.

Meta API use cases are the jobs a Meta developer app is set up for, so pick yours by what the app does: publish to Instagram, publish to a Facebook Page or post to Threads. Each job has its own login, API host and permissions, and the table below maps them from Meta's own sample code on GitHub.

Two companion guides go deeper: Instagram Login or Facebook Login? and Meta App Review: the minimum rules to go live. For WhatsApp messaging, see WhatsApp Cloud API basics. Once the app exists, the build guides cover each part: publishing to Instagram, Threads API publishing, access tokens, rate limits and webhooks.

This page is built from Meta's official GitHub repositories and our own changelog entries. Those sources name one use case outright, the Threads use case. They don't give the exact names the App Dashboard shows for the others or say which use cases can share an app, so this page leaves both out rather than guess.

What this means for you

If a tool posts to your Instagram, Facebook Page or Threads account, its developer made this choice, and it changes what you see when you connect. A tool built on Instagram Login asks you to log in to Instagram. A tool built on Facebook Login asks for your Facebook account and the Page linked to your Instagram. Neither works with a personal Instagram account: you need a Business or Creator account.

The details: Meta API use cases by job

Pick by the job

Your app's jobWhat it is built onLogin your users seeHost your code callsPermissions in Meta's samples
Publish posts, reels and carousels to Instagram professional accountsInstagram API with Instagram Login, or with Facebook LoginBusiness Login for Instagram, or Facebook Login for Businessgraph.instagram.com, or graph.facebook.cominstagram_business_basic, instagram_business_content_publish
Moderate and reply to Instagram commentsThe same twoThe same twoThe same twoinstagram_business_basic, instagram_business_manage_comments
Read and answer Instagram messagesInstagram API with Instagram LoginBusiness Login for Instagramgraph.instagram.cominstagram_business_basic, instagram_business_manage_messages
Publish reels to a Facebook PageFacebook Login with Page permissionsFacebook Logingraph.facebook.compages_show_list, pages_read_engagement, pages_manage_posts
Post to ThreadsThe Threads use caseThreads authorization on www.threads.com or www.threads.netgraph.threads.com or graph.threads.netthreads_basic, threads_content_publish
Read a personal Instagram accountNothing in our changelogNoneNoneNone

The Instagram permissions in the table are the Instagram Login names, which replaced the old scope values on January 27, 2025. The Facebook Login path uses a different set. Meta's Instagram collection lists instagram_basic, instagram_content_publish, instagram_manage_comments, pages_show_list and pages_read_engagement for it, and the login guide compares the two side by side.

The Facebook Page row comes from Meta's Facebook Reels sample, which asks for those three permissions plus two more for its A/B test feature. The Threads row lists two hosts because Meta's own sources disagree, as the section on the Threads host explains.

The last row is empty because there is no current route. The Basic Display API, which read personal Instagram accounts, has returned errors since December 4, 2024, and our changelog records no replacement for personal accounts. Both Instagram APIs serve Business and Creator accounts only.

Plain "sign in with Facebook" isn't covered by the Meta GitHub sources used for this page, so it has no row.

What a use case is

Meta's samples treat the use case as the starting point. Step 1 in Meta's Threads Postman collection is to "create a Meta app with the Threads use case", and our Threads changelog entry gives developers the same first step. For Instagram, our launch entry records that new apps add the Instagram product to use the Instagram API with Instagram Login.

A use case can have parts of its own. Meta's webhooks sample tells developers to set up Threads webhooks "as a sub use case under the Threads API main use case".

The Threads use case also carries its own credentials. The first instruction in Meta's Threads sample app is to use the app ID and secret "defined for the Threads API of your app", which it says are not the same as the app's regular app ID and secret.

Which use cases can share an app

Meta's GitHub sources don't list which use cases can be combined in one app. They also don't say whether a use case can be removed once it's added. What they do show is one app holding a Threads API section, with its own ID and secret, next to the app's regular credentials.

For Instagram, Meta's collection documents two setups side by side, the Instagram API with Instagram Login and the Instagram API with Facebook Login, without saying whether one app can use both. Check the App Dashboard before you plan several jobs into one app.

Business app type

Meta's Instagram Platform collection says that, for the purposes of its guide, "we recommend using a Business App". Nothing in the collection or the other Meta repositories used here describes the other app types.

What each path hands your code

  • Instagram Login: an Instagram User access token, used on graph.instagram.com. Since the launch on July 23, 2024, no Facebook Page is needed and Instagram messaging no longer goes through the Messenger API.
  • Facebook Login for Instagram: a Facebook User access token. Your app calls /me/accounts with it, which returns the Pages the person manages, a Page access token for each and the linked Instagram account's ID. Meta's collection publishes reels with that Page token and lists a Facebook Page access token for comment replies, while insights take the Facebook User access token.
  • Facebook Pages: Meta's Facebook Reels sample swaps the login code for a user token, reads the Pages from /me/accounts, then uploads and publishes reels to the Page's video_reels edge with the Page token.
  • Threads: a short-lived Threads user token from the code exchange, swapped for a long-lived one with grant_type=th_exchange_token. The example response in Meta's Threads collection shows expires_in of 5,184,000 seconds, which is 60 days. That figure appears only in an example response; none of these repositories states the token's lifetime.

The Threads host: Meta's own sources disagree

Our changelog entry records graph.threads.net, introduced on June 7, 2024. On March 23, 2026, a commit titled "threads.net -> threads.com" moved Meta's Threads sample app to graph.threads.com for API calls and www.threads.com for authorization. Meta's Threads Postman collection was updated later that same day and still sets graph.threads.net and www.threads.net.

Meta's GitHub sources don't say whether both hosts work, or which one Meta's documentation now uses. Keep the host in one setting so that switching is a one-line change.

What you need before going live

Both Instagram APIs have two access levels. Meta's Instagram guides on GitHub put it like this: Standard Access if your app serves accounts "you own or manage and have added to your app in the App Dashboard", Advanced Access if it serves accounts "you don't own or manage". By that wording, a scheduler that posts for clients needs Advanced Access.

Meta's samples tie Advanced Access to App Review. The Instagram Reels sample says an app "MUST undergo App Review for Advanced Access" to the two Page Public features it uses for location tags. Meta's Instagram collection sends the Human Agent permission through App Review, Permissions and Features in the App Dashboard. The steps and their order are in Meta App Review: the minimum rules to go live.

Whichever use case you pick, the Graph API version still matters. Meta Graph API versions lists every end date, and Instagram API versions covers what replaced v1 and Basic Display.

What to do next

  • Business owners: Make sure your Instagram account is a Business or Creator account. If a tool asks for a Facebook Page, it is built on Facebook Login; if it asks only for Instagram, it uses Instagram Login.
  • Marketers and agencies: Ask a tool which login it was built on. The answer tells you whether clients need a linked Page, and the login guide shows which features depend on it.
  • Developers: Write down every job your app will do, check in the App Dashboard that one app can hold them, keep the Threads host in config, and plan App Review for every permission you'll use on accounts you don't own. The hubs for Instagram, Facebook and Threads link each platform's changelog.

Questions people ask

What is a use case in a Meta developer app?

It is how a Meta app is set up for one job. Meta's own samples on GitHub start there: the Threads Postman collection's first step is to create a Meta app with the Threads use case, and the webhooks sample adds Threads webhooks as a sub use case under the main Threads API one. Those sources don't list every use case or give each one's exact name.

Which Meta use case do I need to post to Instagram from my app?

Meta's GitHub sources don't give the use case's exact name in the App Dashboard. They show two ways in: Business Login for Instagram on graph.instagram.com, which needs no Facebook Page, or Facebook Login for Business on graph.facebook.com, which needs a Page linked to the Instagram account. Our guide on Instagram Login or Facebook Login compares the two.

Do I need a separate Meta app for Threads?

Meta's Threads sample app talks about the app ID and secret defined for the Threads API of your app, and says they are not the same as the app's regular ID and secret. So the Threads credentials sit inside an app but are their own pair. Which other use cases can share that app isn't stated in Meta's GitHub sources.

Is the Threads API host graph.threads.net or graph.threads.com?

Meta's GitHub sources disagree. The Threads sample app switched to graph.threads.com and www.threads.com on March 23, 2026, while Meta's Threads Postman collection, updated the same day, still uses graph.threads.net. Our changelog records graph.threads.net from June 7, 2024.

Can a Meta app connect a personal Instagram account?

Not through any API in our changelog. The Basic Display API read personal accounts and has returned errors since December 4, 2024, and both current Instagram APIs serve Business and Creator accounts only.

Sources

Related

Get an email when a platform changes its API

One email per new entry: what changed, who is affected, and the deadline.

Follow with RSS, or per platform, for example X or Meta.