FetchPI
Log in

YouTube profile API

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

  • 1 documented endpoints
  • GET /v1/youtube/users/{username}

Contract summary (English): Get a normalized YouTube channel profile (capability youtube.profile)

Normalized response entity
youtube/profile
capability
youtube.profile

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

Use cases

  • Enrich CRM and outreach tooling with up-to-date {{platform}} profile data — follower counts, verification status and bios as structured JSON.
  • Screen creator and partner accounts before a campaign with consistent, queryable profile metrics.
  • Re-query the same handle and diff the normalized fields to track profile changes over time.

Response fields

YouTube Channel Profile (normalized)

Normalized YouTube channel profile. A YouTube CHANNEL is the platform user (§3.8) — the normalized entity type stays profile/user. Provider-private fields MUST NOT appear — the Normalizer drops them. The capability id is youtube.profile (the /v1/youtube surface).

FieldTypeRequiredDescription
idstringRequiredPlatform-stable channel id (UC…).
platform"youtube"Required—
type"profile"Required—
usernamestringRequiredThe channel @handle; the channel id when the surface omits a handle.
display_namestring | nullOptionalThe channel title.
descriptionstring | nullOptional—
urlstring | nullOptionalThe channel URL.
profile_image_urlstring | nullOptionalThe channel avatar.
verifiedbooleanRequired—
created_atstring | nullOptionalChannel creation (joined) time, UTC RFC3339; null when the provider does not expose it.
metrics.subscribersintegerRequiredSubscriber count.
metrics.viewsintegerRequiredLifetime views across uploads.
metrics.postsintegerRequiredVideo count.
fetched_atstringRequiredWhen the platform data was actually collected (UTC RFC3339).

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/youtube/users/{username}
curl -H "Authorization: Bearer $MESHDATA_API_KEY" \
  "https://api.fetchpi.com/v1/youtube/users/newdev"
{
  "data": {
    "id": "UCsim0000000000000000777",
    "platform": "youtube",
    "type": "profile",
    "username": "creatordev",
    "display_name": "Creator Dev",
    "description": "Videos about data APIs.",
    "url": "https://www.youtube.com/@creatordev",
    "profile_image_url": "https://cdn.example.com/avatar/creatordev.jpg",
    "verified": true,
    "created_at": "2019-04-01T10:15:00Z",
    "metrics": {
      "subscribers": 51230,
      "views": 19824567,
      "posts": 862
    },
    "fetched_at": "2026-09-18T09:00:00Z"
  },
  "meta": {
    "request_id": "req_01HTXQ8Z9HTQ",
    "freshness": {
      "mode": "default",
      "age_seconds": 120,
      "source_layer": "db",
      "stale": false
    },
    "billing": {
      "amount_credits": 100,
      "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

What does the YouTube profile API return?

A normalized profile object — identity, bio and audience fields as defined in the field table below — plus freshness and billing metadata.

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 profile 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.