GST Verifier — External API

Base URL: https://gstin.mtpldatacenter.com/api/gst
Live
Re-run Comparison on Existing Scraped Data No re-scraping needed

If you have already scraped 1100+ records and want to get the updated mismatch list using the improved name-comparison algorithm — click below. This re-evaluates all existing scraped data against imported Excel names without hitting the portal again.

Processing all records...
POST/api/gst/lookup Live fetch + optional name check

Fetch live GSTIN data from Tally portal. Optionally compare a firm name.

Request JSON:

{
  "gstin": "09ACUPT7764L2Z9",
  "firm_name": "M/S SAI ASSOCIATES",
  "use_cache": true
}

Fields:

gstinrequired15-char GSTIN
firm_nameoptionalYour firm name to compare
use_cacheoptionalUse DB cache (default: true)

Response JSON:

{
  "success": true,
  "message": null,
  "timestamp": "2026-04-04T10:00:00Z",
  "data": {
    "gstin": "09ACUPT7764L2Z9",
    "legal_name": "M/S SAI ASSOCIATES",
    "trade_name": "M/S SAI ASSOCIATES",
    "constitution": "Proprietorship",
    "gstin_status": "Active",
    "taxpayer_type": "Regular",
    "principal_place_of_business": "123 Main St, Lucknow",
    "nature_of_business": "Works Contract",
    "effective_date_of_registration": "01/07/2017",
    "fetch_status": "Success",
    "fetched_at": "2026-04-04T10:00:00Z",
    "data_source": "cache",
    "name_comparison": {
      "firm_name_provided": "M/S SAI ASSOCIATES",
      "is_match": true,
      "match_score": 100.0,
      "matched_with": "LegalName",
      "reasons": []
    }
  }
}
POST/api/gst/verify Mismatch detection

Verify a GSTIN + firm name pair. Returns detailed match/mismatch result.

Request JSON:

{
  "gstin": "09BIEPK5620H1ZB",
  "firm_name": "M/S NASIM KHAN CONSTUCTION",
  "use_cache": true
}

Fields:

gstinrequired15-char GSTIN
firm_namerequiredFirm name from your records
use_cacheoptionalUse DB cache (default: true)

Response JSON (Mismatch example):

{
  "success": true,
  "timestamp": "2026-04-04T10:00:00Z",
  "data": {
    "gstin": "09BIEPK5620H1ZB",
    "firm_name_provided": "M/S NASIM KHAN CONSTUCTION",
    "portal_legal_name": "M/S SAMEER CONSTRUCTION",
    "portal_trade_name": "M/S SAMEER CONSTRUCTION",
    "constitution": "Proprietorship",
    "gstin_status": "Active",
    "taxpayer_type": "Regular",
    "principal_place_of_business": "456 Ring Rd, Kanpur",
    "nature_of_business": "Works Contract",
    "effective_date_of_registration": "01/07/2017",
    "is_match": false,
    "match_score": 12.5,
    "matched_with": "None",
    "mismatch_reasons": [
      "Excel name 'M/S NASIM KHAN CONSTUCTION' does not match Portal Legal Name 'M/S SAMEER CONSTRUCTION'"
    ],
    "fetch_status": "Success",
    "data_source": "cache",
    "fetched_at": "2026-04-04T10:00:00Z"
  }
}
GET/api/gst/cached/{gstin}

Returns already-scraped data for a GSTIN from local DB. No portal hit.

Example:

GET /api/gst/cached/09ACUPT7764L2Z9

Returns 404 if not in cache — use /lookup to fetch live.

POST/api/gst/rematch

Re-runs comparison on all imported+scraped records. No re-scraping.

No request body needed.

Response:

{
  "success": true,
  "data": {
    "total_processed": 1100,
    "matched": 987,
    "mismatched": 113,
    "not_fetched": 0,
    "message": "Comparison complete."
  }
}
GET/api/gst/mismatches

Returns all mismatch records. Run /rematch first for fresh results.

Query params:

?sheet=CnD or ?sheet=JNUP

Example:

GET /api/gst/mismatches?sheet=CnD

Returns array of all mismatch records with full portal + Excel data.

Live API Tester