← Social API

Instagram Posts API

Request collected Instagram posts using a topic and a bounded delivery budget. Keep the original source links with the returned text so your application can show the evidence behind a summary.

Build source-linked Instagram research

Use a brand, product or topic as the search term. Responses contain collected post text and source URLs where available. Do not assume access to private accounts, every post, video downloads or Instagram transcripts. The optional native-caption workflow currently applies to TikTok.

Pay for delivered data

Fresh posts cost 0.05 credit each with a one-credit minimum for a nonempty fresh request. A 20-post request without transcripts therefore needs at most one credit for fresh delivery. Empty fresh results are free. Credit packs start at $0.01 per credit; no Core or Enterprise subscription is required.

Control the request and budget

Send a topic in term and set limit from 1 to 100. Optional start and end use UTC ISO dates: start is inclusive and end is exclusive, with a maximum 31-day window. Omit dates for the last seven days. Set max_credits before sending. Cached results and cursor pages cost zero credits.

Wait for the result, then paginate

A cached result can return immediately. A fresh request can return HTTP 202 with data.status=processing. Save data.id and poll GET /api/public/social-requests/{id} every five seconds with a finite deadline. Polling is free. Follow next_cursor with unchanged filters and a new Idempotency-Key per page. Reuse the original key and exact body after an uncertain network failure.

Understand the coverage

Results come from collected public web data and are samples, not a complete or representative census. Missing posts do not prove that a topic has no activity. Preserve source URLs and collection context when presenting results. Optional fields can be absent; this is not an official platform API.

Request posts with cURL

Example requests require your own API key. Running a request can consume prepaid credits within the stated budget.

# Save this ID and body before sending; reuse both on uncertain retries.
REQUEST_ID=$(uuidgen)
curl 'https://social.tickertrends.io/api/public/social-posts' \
  -H "X-API-Key: $TICKERTRENDS_API_KEY" \
  -H "Idempotency-Key: $REQUEST_ID" \
  -H 'Content-Type: application/json' \
  --data '{"term":"openai","platforms":"instagram","limit":20,"max_credits":1}'
# If data.status is processing, replace RETURNED_REQUEST_ID with data.id.
# This is the server receipt ID, not the Idempotency-Key. Poll every 5 seconds:
curl 'https://social.tickertrends.io/api/public/social-requests/RETURNED_REQUEST_ID' \
  -H "X-API-Key: $TICKERTRENDS_API_KEY"