FetchPI
Log in

TikTok homefeed API

TikTok homefeed data in one REST call — normalized to the stable JSON schema shared across every FetchPI platform.

  • 1 documented endpoints
  • GET /v1/tiktok/homefeed

Contract summary (English): Get home feed (capability tiktok.homefeed)

Normalized response entity
tiktok/homefeed
capability
tiktok.homefeed

Every response also carries freshness (cache / default / live) and billing metadata.

Use cases

  • Monitor what a {{platform}} account publishes, in order, with normalized per-item metrics.
  • Detect new activity when scheduled jobs re-query the feed — ideal for alerting and digest workflows.
  • Benchmark publishing cadence and engagement across accounts with comparable, structured output.

Response fields

tiktok homefeed response (normalized envelope)

One page of the recommendation feed as normalized post entities (capability tiktok.homefeed). Page size follows the request's `limit` parameter (1..100, default 20). Envelope of GET /v1/tiktok/homefeed.

FieldTypeRequiredDescription
datapost[]Required—
next_cursorstring | nullRequiredOpaque pagination cursor; null when the list is exhausted.
meta.request_idstringRequired—
meta.freshness.modecache | default | liveRequired—
meta.freshness.age_secondsinteger | nullOptional—
meta.freshness.source_layercache | db | upstreamRequired—
meta.freshness.stalebooleanOptional—
meta.billing.cache_hitbooleanRequired—
meta.billing.amount_creditsintegerRequiredCredits actually charged for this request (the settlement unit; 1 credit = $0.0001, permanent).

Field notes are shown in the contract's original English.

Response meta

FieldTypeRequiredDescription
modecache | default | liveRequiredEffective mode after merging param > max_age > source policy (D-004).
age_secondsinteger | nullOptionalAge of served data; null when unknown.
source_layercache | db | upstreamRequiredWhich layer served the response (PRD §10).
stalebooleanOptionalTrue when stale data was served under stale_if_error / SWR (D-004).
billing.amount_creditsintegerRequiredMicro-USD (1e-6 USD) actually charged for this request.
billing.cache_hitbooleanRequired—

Field notes are shown in the contract's original English.

Example request & response

GET/v1/tiktok/homefeed
curl -H "Authorization: Bearer $MESHDATA_API_KEY" \
  "https://api.fetchpi.com/v1/tiktok/homefeed"
{
  "data": [
    {
      "id": "7410886000000000001",
      "platform": "tiktok",
      "type": "post",
      "author": {
        "id": "7004994945112",
        "username": "creatordev",
        "display_name": "Creator Dev",
        "verified": true
      },
      "text": "One API for every platform.",
      "created_at": "2026-09-17T12:34:56Z",
      "metrics": {
        "likes": 864,
        "comments": 42,
        "shares": 87,
        "collects": 310,
        "views": 154203
      },
      "attachments": [
        {
          "type": "video",
          "preview_image_url": "https://cdn.example.com/cover.jpeg",
          "duration_ms": 34567
        }
      ],
      "fetched_at": "2026-09-18T09:00:00Z"
    }
  ],
  "next_cursor": null,
  "meta": {
    "request_id": "req_01HTXQ8Z9HTQ",
    "freshness": {
      "mode": "default",
      "age_seconds": 0,
      "source_layer": "upstream",
      "stale": false
    },
    "billing": {
      "amount_credits": 200,
      "cache_hit": false
    }
  }
}

Free demo

Create a free account, grab an API key and call this endpoint from the browser-based Playground.

Try it in the Playground

Parameter tables, error codes and response semantics for this endpoint live in the API documentation.

Open the endpoint reference

Frequently asked questions

Can I poll the feed on a schedule?

Yes — the endpoint is a plain REST call, so any scheduler can re-query it. Use the freshness parameters to control how current each answer is and how it is billed.

Can I try this endpoint for free?

Yes — register an account, grab an API key and call it from the Playground in the console.

How is the homefeed capability billed?

Data API calls are billed per request in credits, with different cache/live freshness multipliers. Current per-capability prices live on the pricing page.

Pricing

Per-request credit billing with cache/live freshness options — current prices live on the pricing page.