How to use API Response Comparator
- Paste response A (e.g. staging) and response B (e.g. production).
- Keep "ignore volatile fields" on, add any extra ignore paths, and choose array-order handling.
- Compare. The summary tells you whether the responses are equivalent; the table lists each difference with its path.
- Use the line view for a visual diff and download the table as CSV.
API Response Comparator features
- Semantic JSON comparison — key order and formatting never count as differences
- Ignore volatile fields (ids, timestamps, etags, tokens, cursors) with one checkbox
- Ignore paths with patterns: $.meta.requestId, $.items[*].updatedAt, **.etag or bare key names
- Optional array-order insensitivity and null-equals-missing mode
- Difference table (only in A / only in B / changed / type changed), ignored-field list and a line diff
API Response Comparator example
Staging vs production
Input:
A: { "status": "paid", "customer": { "id": "cust_9" }, "updatedAt": "2025-08-30T10:00:00Z" }
B: { "status": "PAID", "customer": { "id": "cust_9", "tier": "gold" }, "updatedAt": "2025-08-31T09:12:44Z" }Output:
Different · Added in B 1 · Changed 1 · Ignored: $.updatedAt
$.status changed "paid" → "PAID"
$.customer.tier only in B – → "gold"Frequently asked questions about API Response Comparator
What does "ignore volatile fields" do?
It skips keys that normally differ between environments and requests — ids, timestamps (createdAt, updatedAt…), etags, request/trace ids, tokens, cursors — so the diff shows meaningful differences only.
How do ignore paths work?
One pattern per line: an exact JSON path ($.meta.requestId), array wildcards ($.items[*].updatedAt), deep wildcards (**.etag) or a bare key name to ignore it everywhere.
Does key order matter?
No — the comparison is semantic. Enable "Ignore array order" if your API returns lists in non-deterministic order.
Why is a type change highlighted separately?
A value that changed from number to string (or object to null) usually breaks clients, so it is counted as a type change rather than a simple value change.
Technical notes
Ignored fields are removed from both documents before the structural diff runs. Volatile-key detection uses a curated regular expression (id, uuid, createdAt, updated_at, etag, requestId, nonce, token, cursor…).