Benchmark

Evaluate parsed transactions against benchmark ground truth

Submit parsed transactions from a Bank Statement Parsing Benchmark PDF for scoring. The contentHash is the SHA-256 hex digest of the PDF you parsed — this ties the evaluation to the exact file. Free to use, no credits consumed. Rate limit: 50 requests per hour.

post/benchmark/evaluate

Request

  • Base URL: https://api.bankstatemently.com/v1
  • URL: https://api.bankstatemently.com/v1/benchmark/evaluate
  • Auth: API key in header X-API-Key

Request body

contentHashstring required

SHA-256 hex digest of the benchmark PDF file.

Example request

{
  "contentHash": "ba92a4b40c7a259f1e3d4a5b6c7d8e9f0a1b2c3d4e5f6a7b8c9d0e1f2a3b4c5d",
  "transactions": [
    {
      "date": "2025-06-02",
      "description": "NTUC FAIRPRICE",
      "amount": 12.2,
      "balance": 15438.55,
      "currency": "SGD",
      "originalData": {
        "Date": "02/06/2025",
        "Description": "NTUC FAIRPRICE",
        "Withdrawal (-)": "12.20",
        "Balance": "15,438.55"
      }
    }
  ]
}

Response

Evaluation results with both normalized and parsed scores.

contentHashstring required

Echo of the submitted content hash.

idstring required

Statement ID (e.g. bsb-001).

datasetVersionstring required

Ground truth dataset version.

difficulty'basic' | 'intermediate' | 'advanced' required

Statement difficulty tier.

challengesstring[] required

Parsing challenges present in the statement.

Example response

{
  "id": "bsb-001",
  "datasetVersion": "2.0",
  "normalizedScore": {
    "overall": 0.94,
    "extraction": 0.97,
    "integrity": 0.97,
    "fields": {
      "date": 0.98,
      "description": 0.91,
      "amount": 0.95
    }
  },
  "parsedScore": {
    "overall": 0.94,
    "extraction": 0.97,
    "integrity": 0.97,
    "fields": {
      "date": 0.98,
      "description": 0.91,
      "amount": 0.95
    }
  }
}

Changes

No recorded changes to this operation across all 1 revision of this API.