Harbinger Explorer

Back to Knowledge Hub
solutions
Published:

Compare API Responses Side by Side — Without Scripts

7 min read·Tags: api comparison, compare api responses, postman alternative, api data analysis, side by side comparison, data exploration, duckdb, natural language sql

You're debugging a discrepancy between two API endpoints. One returns slightly different numbers than the other. You copy the first response into a text file, then the second into another file, then squint at a diff tool trying to spot which nested JSON field changed. Twenty minutes later, you realize it was a timezone offset in a timestamp three levels deep.

This is the reality of comparing API responses — and if you work with data from multiple sources, you do it more often than you'd like to admit.

The Core Problem: API Data Comparison Is Tedious

Comparing API responses side by side sounds simple until you actually try it. Real-world API data has nested objects, inconsistent field ordering, different date formats, nullable fields that appear in one response but not the other, and pagination that means you're never comparing complete datasets in a single request.

The typical workflow looks like this:

  1. Make a request to Endpoint A, copy the response
  2. Make a request to Endpoint B, copy the response
  3. Paste both into a diff tool or JSON viewer
  4. Manually scan for differences
  5. Realize the field ordering is different, so the diff is useless
  6. Write a quick script to normalize and compare
  7. Discover edge cases your script missed
  8. Repeat

If you're comparing the same endpoint over time (regression testing, monitoring for schema changes), the process gets even worse because you need to store historical responses somewhere.

How People Solve This Today

Postman

Postman is the go-to for API testing, and for good reason. You can save requests in collections, view responses side by side using the "Compare" feature (added in recent versions), and write test scripts in JavaScript to validate response structure.

What works well:

  • Excellent request builder with environment variables
  • Collections organize related endpoints
  • Built-in test scripting for automated validation
  • Team collaboration with shared workspaces

Where it falls short for data comparison:

  • The compare feature is limited to two responses at a time
  • No SQL querying across responses — you can't ask "show me all records where endpoint A and B disagree on the price field"
  • Large responses (10k+ records) become unwieldy in the JSON viewer
  • Exporting for deeper analysis means leaving Postman entirely
  • Free tier limits collaboration features; paid plans start at $14/user/month [Last verified: March 2026]

Diff Tools (Beyond Compare, Meld, jq + diff)

Power users often reach for dedicated diff tools or command-line approaches:

# Typical CLI comparison workflow
curl -s https://api.example.com/v1/products | jq -S '.' > response_v1.json
curl -s https://api.example.com/v2/products | jq -S '.' > response_v2.json
diff response_v1.json response_v2.json

What works well:

  • Precise, character-level comparison
  • Scriptable and automatable
  • Free (most tools)

Where it falls short:

  • No semantic understanding — a reordered JSON array shows as "everything changed"
  • No way to query or filter differences
  • Manual setup for each comparison
  • No persistent history of comparisons
  • Requires comfort with CLI tools

Custom Python Scripts

When diff tools aren't enough, engineers write comparison scripts:

# The "I'll just write a quick script" approach
import requests
import pandas as pd

r1 = requests.get("https://api.example.com/v1/products").json()
r2 = requests.get("https://api.example.com/v2/products").json()

df1 = pd.json_normalize(r1["data"])
df2 = pd.json_normalize(r2["data"])

# Find mismatches
merged = df1.merge(df2, on="product_id", suffixes=("_v1", "_v2"))
diffs = merged[merged["price_v1"] != merged["price_v2"]]
print(diffs[["product_id", "price_v1", "price_v2"]])

What works well:

  • Full control over comparison logic
  • Can handle any data structure
  • Integrates with existing data pipelines

Where it falls short:

  • "Quick script" always takes longer than expected
  • Needs maintenance as APIs change
  • No visual interface for non-engineers
  • Each new comparison needs new code
  • Environment setup (Python, libraries, API keys) before you can even start

Feature Comparison: Side-by-Side

FeatureHarbinger ExplorerPostmanDiff Tools / Scripts
Setup time~2 min (browser, no install)~10 min (download + account)~15-30 min (toolchain setup)
Learning curveLow (natural language + SQL)Medium (collections, environments, scripting)High (CLI fluency, scripting)
Query across responses✅ SQL + natural language❌ JavaScript tests only✅ With custom code
Visual comparison✅ Table view with filtering✅ JSON viewer + basic compare⚠️ Tool-dependent
Handle large responses✅ DuckDB handles millions of rows⚠️ Slows down past ~10k records✅ With proper tooling
Schema change detection✅ Column mapping flags changes❌ Manual inspection⚠️ Custom logic needed
PII detection✅ Built-in column-level flagging❌ Not available❌ Not available
Natural language queries✅ "Show rows where price differs"
No install required✅ Browser-based❌ Desktop app or web (limited free)❌ Local tools needed
Collaboration❌ Single user (for now)✅ Team workspaces (paid)❌ Share scripts manually
Automation / scheduling⚠️ Pro plan only✅ Monitors + Newman CLI✅ Fully scriptable
PricingFree trial, then €8/moFree tier, $14+/user/mo for teamsFree (your time isn't)

Pricing last verified: March 2026

The Harbinger Explorer Approach

Instead of juggling tools, here's how you'd compare two API responses in Harbinger Explorer:

Step 1: Add both API sources

Open the Source Catalog and use the API crawl wizard. Paste the documentation URL for your first API — Harbinger Explorer automatically discovers the available endpoints. Select the ones you want to compare. Repeat for the second API (or a different version of the same API).

Step 2: Query both sources with SQL

Once both sources are loaded, you can query them directly in the browser using DuckDB SQL:

-- DuckDB SQL
SELECT
    a.product_id,
    a.price AS price_endpoint_a,
    b.price AS price_endpoint_b,
    a.price - b.price AS price_diff
FROM source_api_v1 a
JOIN source_api_v2 b ON a.product_id = b.product_id
WHERE a.price != b.price
ORDER BY ABS(a.price - b.price) DESC;

Step 3: Or just ask in plain English

Don't want to write SQL? Type: "Show me all products where the price is different between API v1 and v2, sorted by the biggest difference."

The AI generates the SQL, runs it against your data in-browser, and shows results in a filterable table.

Step 4: Export or investigate further

Export the differences to CSV or Parquet for a report, or keep exploring — ask follow-up questions like "Which product categories have the most discrepancies?" or "Are the differences correlated with last_updated timestamps?"

What used to take 30-60 minutes (setting up requests, writing comparison scripts, debugging edge cases) takes about 5 minutes — including the time to add both sources.

When to Choose What

Choose Postman when:

  • You need full API testing workflows (not just data comparison)
  • Your team already uses Postman and needs shared collections
  • You need automated monitoring with scheduled runs and alerts
  • You're testing authentication flows, not just comparing data

Choose diff tools / scripts when:

  • You need this integrated into a CI/CD pipeline
  • You're comparing non-API data (files, database dumps)
  • You want full programmatic control over comparison logic
  • You're already comfortable with the toolchain

Choose Harbinger Explorer when:

  • You want to compare API data fast, without writing code
  • You need to query across responses (JOINs, aggregations, filters)
  • You're a data analyst who needs to verify API sources before using them
  • You want PII detection and data governance visibility on API data
  • You don't want to install anything — browser is enough

Honest Trade-Offs

Harbinger Explorer isn't trying to replace Postman for API testing — it doesn't do authentication flow testing, mock servers, or CI/CD integration. And it can't replace a well-written Python pipeline for production data validation.

What it does well is the ad-hoc exploration use case: you have two (or more) API data sources, you want to understand how they differ, and you want answers in minutes instead of hours. The natural language interface makes it accessible to analysts who can't (or don't want to) write Python scripts for every comparison.

It also currently lacks team collaboration features — you can't share a comparison with a colleague inside the tool. For now, you'd export results and share those. Database connectors for Snowflake, BigQuery, and PostgreSQL aren't available yet either, so if your comparison involves warehouse data alongside API data, you'd need to export from the warehouse first.

Try It Yourself

If you're spending more time setting up API comparisons than actually analyzing the results, give Harbinger Explorer a shot. The 7-day free trial doesn't require a credit card, and you can have your first comparison running in under 5 minutes.

Try Harbinger Explorer free for 7 days →

Continue Reading


Continue Reading

Try Harbinger Explorer for free

Connect any API, upload files, and explore with AI — all in your browser. No credit card required.

Start Free Trial

Command Palette

Search for a command to run...