मुख्य कंटेंट पर जाएं

बैंक स्टेटमेंट एक्सट्रैक्शन API

PDF बैंक स्टेटमेंट को संरचित JSON में बदलने के लिए REST API। 99.9%+ लेन-देन सही ढंग से पहचाने गए और विफलता पर अपने-आप धनवापसी।

$ curl https://api.bankstatementlab.com/v1/extractions \
  -H "Authorization: Bearer bsl_live_..." \
  -F "file=@statement.pdf"

बैंक विवरण निकालना

किसी भी PDF से लेन-देन, शेष राशि और मेटाडेटा निकालें।

संरचित JSON आउटपुट

सभी 10 समर्थित भाषाओं में एक समान और पूर्वानुमानित स्कीमा।

99.9%+ लेन-देन सही ढंग से पहचाने गए

विफलता पर स्वतः धन-वापसी. असफल निष्कर्षण के लिए कोई शुल्क नहीं.

सिंक और एसिंक मोड

छोटे PDF के लिए सिंक्रोनस और बड़े बैच के लिए एसिंक + पोलिंग।

कोड नमूने

अपनी पसंद की भाषा में एकीकृत करें। नीचे दिए उदाहरण देखें।

$ curl https://api.bankstatementlab.com/v1/extractions \
  -H "Authorization: Bearer bsl_live_..." \
  -F "file=@statement.pdf"

प्रतिक्रिया स्वरूप

data, column_names और transaction_count फ़ील्ड केवल तब मौजूद होते हैं जब status का मान "completed" हो। अन्य स्थितियों में ये JSON से हटा दिए जाते हैं (ये null नहीं, बल्कि अनुपस्थित होते हैं)।

GET /v1/extractions/:id

200 OK — एक्सट्रैक्शन पूरा हुआ

HTTP/1.1 200 OK
Content-Type: application/json

{
  "id": "ext_3f8a9b2c1d4e5f6a7b8c9d0e",
  "status": "completed",
  "file_name": "statement-march-2026.pdf",
  "created_at": "2026-03-15T10:23:00.000Z",
  "completed_at": "2026-03-15T10:23:18.000Z",
  "page_count": 3,
  "credits_charged": 3,
  "api_key_id": "ak_abc123",
  "column_names": ["Date", "Description", "Amount"],
  "transaction_count": 42,
  "data": {
    "columns": ["Date", "Description", "Amount"],
    "transactions": [
      ["2026-03-01", "VIREMENT SEPA", "1500.00"],
      ["2026-03-02", "CB CARREFOUR", "-45.20"]
    ]
  }
}

200 OK — एक्सट्रैक्शन जारी है

HTTP/1.1 200 OK
Content-Type: application/json

{
  "id": "ext_3f8a9b2c1d4e5f6a7b8c9d0e",
  "status": "processing",
  "file_name": "statement-march-2026.pdf",
  "created_at": "2026-03-15T10:23:00.000Z",
  "page_count": 3,
  "credits_charged": 3,
  "api_key_id": "ak_abc123"
}

200 OK — एक्सट्रैक्शन विफल हुआ

HTTP/1.1 200 OK
Content-Type: application/json

{
  "id": "ext_3f8a9b2c1d4e5f6a7b8c9d0e",
  "status": "failed",
  "file_name": "statement-march-2026.pdf",
  "created_at": "2026-03-15T10:23:00.000Z",
  "completed_at": "2026-03-15T10:23:32.000Z",
  "page_count": 3,
  "credits_charged": 3,
  "api_key_id": "ak_abc123",
  "error": {
    "type": "extraction_failed",
    "message": "Extraction failed due to an internal error. Contact support if the issue persists."
  }
}

पोलिंग पैटर्न

जब एक्सट्रैक्शन async मोड में चलता है, तो सर्वर प्रक्रिया पूरी होने तक प्रतिक्रिया में status: "processing" रहता है। data, transaction_count और column_names पढ़ने से पहले हमेशा जाँचें कि status का मान "completed" है। एक्सट्रैक्शन पूरा होने तक ये फ़ील्ड JSON से अनुपस्थित रहते हैं।

क्लाइंट-साइड पोलिंग की अनुशंसित आवृत्ति 5 से 10 सेकंड है। सर्वर प्रक्रिया हर 10 सेकंड में चलती है; अधिक तेज़ी से पोलिंग करने पर परिणाम जल्दी नहीं मिलेगा।

GET /v1/extractions

200 OK — मिश्रित पृष्ठ (हर स्थिति के लिए एक तत्व)

HTTP/1.1 200 OK
Content-Type: application/json

{
  "data": [
    {
      "id": "ext_001",
      "status": "completed",
      "file_name": "march.pdf",
      "created_at": "2026-03-15T10:00:00.000Z",
      "completed_at": "2026-03-15T10:00:18.000Z",
      "page_count": 3,
      "credits_charged": 3,
      "api_key_id": "ak_abc123",
      "column_names": ["Date", "Description", "Amount"],
      "transaction_count": 42
    },
    {
      "id": "ext_002",
      "status": "processing",
      "file_name": "april.pdf",
      "created_at": "2026-04-15T10:00:00.000Z",
      "page_count": 5,
      "credits_charged": 5,
      "api_key_id": "ak_abc123"
    },
    {
      "id": "ext_003",
      "status": "failed",
      "file_name": "may.pdf",
      "created_at": "2026-05-15T10:00:00.000Z",
      "completed_at": "2026-05-15T10:00:42.000Z",
      "page_count": 2,
      "credits_charged": 2,
      "api_key_id": "ak_abc123",
      "error": {
        "type": "extraction_failed",
        "message": "Extraction failed due to an internal error. Contact support if the issue persists."
      }
    }
  ],
  "has_more": false
}

पोलिंग पैटर्न

जब एक्सट्रैक्शन async मोड में चलता है, तो सर्वर प्रक्रिया पूरी होने तक प्रतिक्रिया में status: "processing" रहता है। data, transaction_count और column_names पढ़ने से पहले हमेशा जाँचें कि status का मान "completed" है। एक्सट्रैक्शन पूरा होने तक ये फ़ील्ड JSON से अनुपस्थित रहते हैं।

क्लाइंट-साइड पोलिंग की अनुशंसित आवृत्ति 5 से 10 सेकंड है। सर्वर प्रक्रिया हर 10 सेकंड में चलती है; अधिक तेज़ी से पोलिंग करने पर परिणाम जल्दी नहीं मिलेगा।

प्रमुख उपयोग

लेखांकन स्वचालन

ग्राहकों के बैंक स्टेटमेंट सीधे अपनी बहीखाता पाइपलाइन में आयात करें।

उचित परिश्रम से ऋण देना

आवेदक के बैंक विवरण से आय और नकदी प्रवाह सत्यापित करें।

व्यक्तिगत वित्त ऐप्स

उपयोगकर्ताओं को मैन्युअल डेटा प्रविष्टि के बिना अपने स्टेटमेंट कनेक्ट करने दें।

वही क्रेडिट, वेब + API

1 क्रेडिट = 1 पृष्ठ। क्रेडिट आपके Pro या Business प्लान के साथ साझा होते हैं; API के लिए अलग न्यूनतम उपयोग नहीं है।

मूल्य निर्धारण देखें →

अक्सर पूछे जाने वाले प्रश्नों

Authorization हेडर में Bearer टोकन के रूप में अपनी API कुंजी भेजें। हम API कुंजियों का उपयोग करते हैं—v1 में OAuth नहीं है।

प्रति API कुंजी 10 अनुरोध/सेकंड और 1,000 अनुरोध/घंटा। अधिक सीमा चाहिए? हमसे संपर्क करें।

हम सर्वोत्तम प्रयास के आधार पर 99% उपलब्धता का लक्ष्य रखते हैं। v1 में कोई संविदात्मक SLA नहीं है; एंटरप्राइज़ प्रतिबद्धताओं के लिए हमसे संपर्क करें।

विफल एक्सट्रैक्शन के क्रेडिट अपने-आप आपके क्रेडिट बैलेंस में लौट जाते हैं। आप केवल सफल पेजों के लिए भुगतान करते हैं।

v1 में केवल PDF समर्थित है। प्रति फ़ाइल अधिकतम 20 MB। इमेज और CSV समर्थन बाद में आएगा।

अंग्रेजी, फ्रेंच, स्पेनिश, जर्मन, इतालवी, पुर्तगाली, जापानी, डच, कोरियाई, हिंदी।

आज ही निर्माण शुरू करें

निःशुल्क टियर में 5 क्रेडिट शामिल हैं। किसी क्रेडिट कार्ड की आवश्यकता नहीं.

अपनी API कुंजी पाएँ