Instagram Profile posts

Fetch recent posts and activity from a profile or page

Starting price
$0.0017 /record
Offers
2 same output format
Max URLs per request
1000

Endpoint

One endpoint for every offer below. Omit provider and the router picks with automatic failover — the response's served_by tells you which one ran.

POSThttps://api.socialrouter.io/v1/extract/instagram/profile.posts

Offers

Every offer below returns the same normalized output, in failover order — the first one serves unless you pin another with the provider field.

  • brightdata/instagramvia Bright Datadefault route

    Up to 1000 URLs per request

    $0.0017per record
  • apify/apifyvia Apify

    Up to 50 URLs per request

    $0.0037per record

Parameters

JSON body of the request. Unknown fields and unknown options are rejected with the valid list, so a wrong guess costs nothing.

ParameterTypeDescription
urlsRequiredstring[]One URL per record to process. Accepted shapes:https://www.instagram.com/<username>Example: https://www.instagram.com/instagramA single url string is accepted too.
providerOptionalstringPin one offer, e.g. brightdata/instagram. Omit it and the router picks with failover.
limitOptionalintegerMax records to return per URL.
optionsOptionalobjectService-specific options, listed below.
options.onlyPostsNewerThanOptionalYYYY-MM-DDOnly return posts published on or after this UTC date. A relative value works too — "1 day", "2 months", "3 years".

Output

Each record has the fields below, whichever offer serves the request. Offers may include additional platform-specific fields on top.

  • post_urlurl

    Link to the individual post

  • post_textstring

    Text content of the post

  • likes_countnumber

    Total likes / reactions

  • comments_countnumber

    Total comments

  • shares_countnumber

    Total shares / reposts

  • posted_atiso8601

    When the post was published

  • author_namestring

    Name of the author (the profile being queried)

  • sourcestring

    Platform the record was extracted from (e.g. "linkedin")

  • extracted_atiso8601

    UTC timestamp when the record was produced

Going further

Auth, error semantics, and every other endpoint live in the API reference — including the machine-readable OpenAPI spec at /v1/openapi.json.

Frequently asked questions

How much does Instagram profile posts cost?

Prices start at $0.0017 per record, depending on the offer that serves the request. You are only charged for records actually returned.

Which offers serve instagram/profile.posts?

brightdata/instagram, apify/apify — 2 offers are available behind the same endpoint. Pin one with the optional "provider" field, or omit it and the router picks with automatic failover. The response's "served_by" field names the offer that ran.

What input does it need?

The "urls" field of the JSON body, as an array of strings: https://www.instagram.com/<username>. For example: https://www.instagram.com/instagram

Is the output format the same for every offer?

Yes. Every offer returns the normalized record schema documented on this page; some add extra platform-specific fields on top, but the documented fields are always present.

How many URLs can I send per request?

Up to 1000 URLs in a single request, depending on the offer.

What happens if an offer fails?

SocialRouter automatically fails over to the next offer serving the same service, so a single upstream outage doesn't break your integration.

What options does it take?

onlyPostsNewerThan (string): Only return posts published on or after this UTC date. A relative value works too — "1 day", "2 months", "3 years".

Related services

Get instagram profile posts into your app or your AI agent

$1 in free credits to test it — no credit card, no commitment.