{
  "openapi": "3.0.1",
  "info": {
    "title": "Indian Bank Statement PDF to Excel, CSV & Tally XML",
    "description": "Convert Indian bank statement PDFs (SBI, HDFC, ICICI, Axis, Kotak & more) into clean transactions with balance checks, confidence scores, Excel/CSV and Tally XML. Handles password-protected and scanned PDFs. Files are not retained.",
    "version": "0.1",
    "x-build-id": "9mA7jbdL7VxMfyVWX"
  },
  "servers": [
    {
      "url": "https://api.apify.com/v2"
    }
  ],
  "paths": {
    "/acts/realistic_puma~indian-bank-statement-parser/run-sync-get-dataset-items": {
      "post": {
        "operationId": "run-sync-get-dataset-items-realistic_puma-indian-bank-statement-parser",
        "x-openai-isConsequential": false,
        "summary": "Executes an Actor, waits for its completion, and returns Actor's dataset items in response.",
        "tags": [
          "Run Actor"
        ],
        "requestBody": {
          "required": true,
          "content": {
            "application/json": {
              "schema": {
                "$ref": "#/components/schemas/inputSchema"
              }
            }
          }
        },
        "parameters": [
          {
            "name": "token",
            "in": "query",
            "required": true,
            "schema": {
              "type": "string"
            },
            "description": "Enter your Apify token here"
          }
        ],
        "responses": {
          "200": {
            "description": "OK"
          }
        }
      }
    },
    "/acts/realistic_puma~indian-bank-statement-parser/runs": {
      "post": {
        "operationId": "runs-sync-realistic_puma-indian-bank-statement-parser",
        "x-openai-isConsequential": false,
        "summary": "Executes an Actor and returns information about the initiated run in response.",
        "tags": [
          "Run Actor"
        ],
        "requestBody": {
          "required": true,
          "content": {
            "application/json": {
              "schema": {
                "$ref": "#/components/schemas/inputSchema"
              }
            }
          }
        },
        "parameters": [
          {
            "name": "token",
            "in": "query",
            "required": true,
            "schema": {
              "type": "string"
            },
            "description": "Enter your Apify token here"
          }
        ],
        "responses": {
          "200": {
            "description": "OK",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/runsResponseSchema"
                }
              }
            }
          }
        }
      }
    },
    "/acts/realistic_puma~indian-bank-statement-parser/run-sync": {
      "post": {
        "operationId": "run-sync-realistic_puma-indian-bank-statement-parser",
        "x-openai-isConsequential": false,
        "summary": "Executes an Actor, waits for completion, and returns the OUTPUT from Key-value store in response.",
        "tags": [
          "Run Actor"
        ],
        "requestBody": {
          "required": true,
          "content": {
            "application/json": {
              "schema": {
                "$ref": "#/components/schemas/inputSchema"
              }
            }
          }
        },
        "parameters": [
          {
            "name": "token",
            "in": "query",
            "required": true,
            "schema": {
              "type": "string"
            },
            "description": "Enter your Apify token here"
          }
        ],
        "responses": {
          "200": {
            "description": "OK"
          }
        }
      }
    }
  },
  "components": {
    "schemas": {
      "inputSchema": {
        "type": "object",
        "properties": {
          "statementFiles": {
            "title": "Statement PDFs",
            "type": "array",
            "description": "Upload bank statement PDFs (text or scanned). Uploaded files are removed after the run where the platform allows it."
          },
          "pdfUrls": {
            "title": "PDF URLs",
            "type": "array",
            "description": "Alternatively, direct HTTPS links to statement PDFs (for API/automation use).",
            "items": {
              "type": "string",
              "pattern": "^https://.+"
            }
          },
          "password": {
            "title": "PDF password",
            "type": "string",
            "description": "Password for protected statements (Indian banks often use e.g. first 4 letters of name + DDMM of birth). Stored encrypted, never logged. Applies to all files in this run."
          },
          "bank": {
            "title": "Bank",
            "enum": [
              "auto",
              "SBI",
              "HDFC",
              "ICICI",
              "AXIS",
              "KOTAK",
              "PNB",
              "BOB",
              "CANARA",
              "UNION",
              "IDFC"
            ],
            "type": "string",
            "description": "Leave on Auto-detect unless detection picks the wrong bank.",
            "default": "auto"
          },
          "outputFormats": {
            "title": "Extra output files",
            "type": "array",
            "description": "Files saved to the key-value store in addition to the dataset (which you can also export as JSON/CSV/Excel).",
            "items": {
              "type": "string",
              "enum": [
                "xlsx",
                "csv",
                "tally"
              ],
              "enumTitles": [
                "Excel (.xlsx)",
                "CSV",
                "Tally XML (vouchers)"
              ]
            },
            "default": [
              "xlsx",
              "csv",
              "tally"
            ]
          },
          "enableOcr": {
            "title": "OCR scanned pages",
            "type": "boolean",
            "description": "Run CPU OCR (Tesseract) on pages that have no text layer. Slower; turn off for born-digital PDFs only.",
            "default": true
          },
          "tallyBankLedger": {
            "title": "Tally bank ledger name",
            "type": "string",
            "description": "Ledger in your Tally company that represents this bank account.",
            "default": "Bank Account"
          },
          "tallySuspenseLedger": {
            "title": "Tally counter ledger",
            "type": "string",
            "description": "Ledger used for the other side of each voucher (re-classify after import).",
            "default": "Suspense"
          },
          "tallyCompany": {
            "title": "Tally company name (optional)",
            "type": "string",
            "description": "If set, the XML targets this company (SVCURRENTCOMPANY)."
          },
          "maxPagesPerFile": {
            "title": "Max pages per file",
            "minimum": 1,
            "maximum": 2000,
            "type": "integer",
            "description": "Safety limit for very large PDFs.",
            "default": 300
          },
          "deleteUploadedFiles": {
            "title": "Delete uploaded PDFs after the run",
            "type": "boolean",
            "description": "Best-effort removal of files uploaded through this form from your key-value store.",
            "default": true
          }
        }
      },
      "runsResponseSchema": {
        "type": "object",
        "properties": {
          "data": {
            "type": "object",
            "properties": {
              "id": {
                "type": "string"
              },
              "actId": {
                "type": "string"
              },
              "userId": {
                "type": "string"
              },
              "startedAt": {
                "type": "string",
                "format": "date-time",
                "example": "2025-01-08T00:00:00.000Z"
              },
              "finishedAt": {
                "type": "string",
                "format": "date-time",
                "example": "2025-01-08T00:00:00.000Z"
              },
              "status": {
                "type": "string",
                "example": "READY"
              },
              "meta": {
                "type": "object",
                "properties": {
                  "origin": {
                    "type": "string",
                    "example": "API"
                  },
                  "userAgent": {
                    "type": "string"
                  }
                }
              },
              "stats": {
                "type": "object",
                "properties": {
                  "inputBodyLen": {
                    "type": "integer",
                    "example": 2000
                  },
                  "rebootCount": {
                    "type": "integer",
                    "example": 0
                  },
                  "restartCount": {
                    "type": "integer",
                    "example": 0
                  },
                  "resurrectCount": {
                    "type": "integer",
                    "example": 0
                  },
                  "computeUnits": {
                    "type": "integer",
                    "example": 0
                  }
                }
              },
              "options": {
                "type": "object",
                "properties": {
                  "build": {
                    "type": "string",
                    "example": "latest"
                  },
                  "timeoutSecs": {
                    "type": "integer",
                    "example": 300
                  },
                  "memoryMbytes": {
                    "type": "integer",
                    "example": 1024
                  },
                  "diskMbytes": {
                    "type": "integer",
                    "example": 2048
                  }
                }
              },
              "buildId": {
                "type": "string"
              },
              "defaultKeyValueStoreId": {
                "type": "string"
              },
              "defaultDatasetId": {
                "type": "string"
              },
              "defaultRequestQueueId": {
                "type": "string"
              },
              "buildNumber": {
                "type": "string",
                "example": "1.0.0"
              },
              "containerUrl": {
                "type": "string"
              },
              "usage": {
                "type": "object",
                "properties": {
                  "ACTOR_COMPUTE_UNITS": {
                    "type": "integer",
                    "example": 0
                  },
                  "DATASET_READS": {
                    "type": "integer",
                    "example": 0
                  },
                  "DATASET_WRITES": {
                    "type": "integer",
                    "example": 0
                  },
                  "KEY_VALUE_STORE_READS": {
                    "type": "integer",
                    "example": 0
                  },
                  "KEY_VALUE_STORE_WRITES": {
                    "type": "integer",
                    "example": 1
                  },
                  "KEY_VALUE_STORE_LISTS": {
                    "type": "integer",
                    "example": 0
                  },
                  "REQUEST_QUEUE_READS": {
                    "type": "integer",
                    "example": 0
                  },
                  "REQUEST_QUEUE_WRITES": {
                    "type": "integer",
                    "example": 0
                  },
                  "DATA_TRANSFER_INTERNAL_GBYTES": {
                    "type": "integer",
                    "example": 0
                  },
                  "DATA_TRANSFER_EXTERNAL_GBYTES": {
                    "type": "integer",
                    "example": 0
                  },
                  "PROXY_RESIDENTIAL_TRANSFER_GBYTES": {
                    "type": "integer",
                    "example": 0
                  },
                  "PROXY_SERPS": {
                    "type": "integer",
                    "example": 0
                  },
                  "PROXY_UNBLOCKER_UNITS": {
                    "type": "integer",
                    "example": 0
                  }
                }
              },
              "usageTotalUsd": {
                "type": "number",
                "example": 0.00005
              },
              "usageUsd": {
                "type": "object",
                "properties": {
                  "ACTOR_COMPUTE_UNITS": {
                    "type": "integer",
                    "example": 0
                  },
                  "DATASET_READS": {
                    "type": "integer",
                    "example": 0
                  },
                  "DATASET_WRITES": {
                    "type": "integer",
                    "example": 0
                  },
                  "KEY_VALUE_STORE_READS": {
                    "type": "integer",
                    "example": 0
                  },
                  "KEY_VALUE_STORE_WRITES": {
                    "type": "number",
                    "example": 0.00005
                  },
                  "KEY_VALUE_STORE_LISTS": {
                    "type": "integer",
                    "example": 0
                  },
                  "REQUEST_QUEUE_READS": {
                    "type": "integer",
                    "example": 0
                  },
                  "REQUEST_QUEUE_WRITES": {
                    "type": "integer",
                    "example": 0
                  },
                  "DATA_TRANSFER_INTERNAL_GBYTES": {
                    "type": "integer",
                    "example": 0
                  },
                  "DATA_TRANSFER_EXTERNAL_GBYTES": {
                    "type": "integer",
                    "example": 0
                  },
                  "PROXY_RESIDENTIAL_TRANSFER_GBYTES": {
                    "type": "integer",
                    "example": 0
                  },
                  "PROXY_SERPS": {
                    "type": "integer",
                    "example": 0
                  },
                  "PROXY_UNBLOCKER_UNITS": {
                    "type": "integer",
                    "example": 0
                  }
                }
              }
            }
          }
        }
      }
    }
  }
}