Developer REST API
Integrate our local coordinate transaction extraction parser directly into your accounting systems, ERPs, and tax workflows.
Authentication
Authenticate your endpoints using standard HTTP Bearer tokens. Pass the secret credential inside the Authorization header on all API transactions.
Parse Statement PDF
Upload a binary bank statement PDF to extract transaction rows, metadata balances, and fraud signals in structured JSON arrays. Supports password-protected sheets.
Request Parameters (Multipart Form)
| Parameter | Type | Description |
|---|---|---|
| file | file (binary) | REQUIRED Maximum size 50MB. |
| password | string | Optional. Decryption credentials if PDF is locked. |
| strict_dates | boolean | Validate date continuity. Default: true. |
Get Supported Banks
Returns an array of predefined bank layouts and OCR parsers configured in the system. Use this to pre-validate template coordinates or show compatible lists.
Interactive API Keys
Generate a simulated secret keys block to test in code containers. Keys generated here are mock variables to run local simulations.
# Parse PDF statement via shell curl -X POST https://api.statementtoexcel.co/v1/parse \ -H "Authorization: Bearer sk_live_your_secret_api_token_here" \ -F "file=@/path/to/statement.pdf"
// Using axios & form-data packages const fs = require('fs'); const axios = require('axios'); const FormData = require('form-data'); const form = new FormData(); form.append('file', fs.createReadStream('/path/to/statement.pdf')); axios.post('https://api.statementtoexcel.co/v1/parse', form, { headers: { ...form.getHeaders(), 'Authorization': 'Bearer sk_live_your_secret_api_token_here' } }).then(res => console.log(res.data)) .catch(err => console.error(err));
# Using standard requests library import requests url = "https://api.statementtoexcel.co/v1/parse" headers = {"Authorization": "Bearer sk_live_your_secret_api_token_here"} files = {"file": open("/path/to/statement.pdf", "rb")} response = requests.post(url, headers=headers, files=files) print(response.json())
// Native Go request block package main import ( "bytes" "fmt" "io" "mime/multipart" "net/http" "os" ) func main() { file, _ := os.Open("statement.pdf") defer file.Close() body := &bytes.Buffer{} writer := multipart.NewWriter(body) part, _ := writer.CreateFormFile("file", "statement.pdf") io.Copy(part, file) writer.Close() req, _ := http.NewRequest("POST", "https://api.statementtoexcel.co/v1/parse", body) req.Header.Set("Authorization", "Bearer sk_live_your_secret_api_token_here") req.Header.Set("Content-Type", writer.FormDataContentType()) client := &http.Client{} resp, _ := client.Do(req) defer resp.Body.Close() respBody, _ := io.ReadAll(resp.Body) fmt.Println(string(respBody)) }
// Click "Run Request" above to simulate an endpoint transmission.