Inspect a response's shape, status, caching and rate-limit signals.
Tip: use samples, upload, copy, download, and send-to actions inside the workspace where available.
API Response Inspector Analyzer is a free, browser-based tool that helps you understand a dataset at a glance. Inspect a response's shape, status, caching and rate-limit signals. It's built for speed and privacy: Everything runs locally in your browser — your data is never uploaded to a server. No sign-up, no installs, and no daily limits.
Profile the data first so missing values, types, duplicates, and outliers are visible before you edit it.
Review the preview, copy or download the result, and keep everything local in your browser.
HTTP Header Analyzer: Grade security headers, explain every header, and simulate CORS preflight.
Open toolThe standard success response. A body is expected.
| Field | Type | Present | Sample |
|---|---|---|---|
data | array(len 2) | — | [2 items] |
[] | object | 2/2 | {7 keys} |
id | string | 2/2 | "ord_9f2a" |
total | number | 2/2 | 12999 |
currency | string | 2/2 | "gbp" |
status | string | 2/2 | "paid" |
customer | object | 2/2 | {3 keys} |
id | string | 2/2 | "cus_1a2b" |
name | string | 2/2 | "Ada Lovelace" |
email | string | 2/2 | "ada@example.com" |
created_at | string | 2/2 | "2026-03-14T09:32:00Z" |
refunded_at | null | 2/2 | null |
has_more | boolean | — | true |
next_cursor | string | — | "b3JkXzdjMWQ" |
Every field has a consistent type and is present in every record. Note that consistency in this sample is not a contract — the next page may differ.
One sample is not a schema. The shape above describes exactly the records you pasted. A field that is a string in all four rows here may be a number on page seven — which is why the presence and type columns matter more than the field list.
Large integer IDs lose precision. JSON numbers are IEEE-754 doubles in JavaScript, so any integer above 9,007,199,254,740,991 silently rounds. This is why Twitter, Stripe and others send identifiers as strings.
A missing key and a null value are different. One means “not provided”, the other “known to be empty”. Clients routinely handle one and crash on the other, and the distinction is often the whole meaning of a partial-update API.
Errors need a machine-readable code. Matching on a human message means your error handling breaks the day someone fixes a typo in it.