Uploading a file’s bytes to an upload URL doesn’t count; only API calls do.
Headers
Every response tells you where you stand:
Going over returns
429 with rate_limited or quota_exceeded and a details.resetsAt time. Counting is shared across our servers and settles within a couple of seconds, so you may occasionally get a few requests past the limit.
Your monthly usage is also shown in Settings → Developers.
Plan limits on content
Separately from request limits, your plan’s limits in the app still apply: posts per month and media storage (5 GB). Going over returns409 limit_reached.
