Extracta.ai
DashboardJoin Discord
  • extracta.ai
    • Introduction
    • Overview
  • API Reference
    • 🔓Authentication
    • 📁Supported File Types
  • Data Extraction - API
    • đŸ’ģAPI Endpoints - Data Extraction
      • 1. Create extraction
      • 2. View extraction
      • 3. Update extraction
      • 4. Delete extraction
      • 5. Upload Files
      • 6. Get results
    • Extraction Details
      • 🌎Supported Languages
      • âš™ī¸Options
      • 📋Fields
    • Receiving Batch Results
      • Polling vs Webhook
      • How to use the Webhook
    • đŸ•šī¸Postman Integration
  • Document Classification - API
    • đŸ’ģAPI Endpoints - Document Classification
      • 1. Create classification
      • 2. View classification
      • 3. Update classification
      • 4. Delete data
        • 4.1 Delete classification
        • 4.2 Delete batch
        • 4.3 Delete files
      • 5. Upload Files
      • 6. Get results
    • Classification Details
      • 📄Document Types
  • Documents
    • Custom Document
    • Resume / CV
    • Contract
    • Business Card
    • Email
    • Invoice
    • Receipt
    • Bank Statement
  • Support
    • 💁Tutorials
    • đŸŸĸAPI Status
  • Contact
    • 📧Contact Us
    • ❓FAQ
Powered by GitBook
On this page
  • Postman Collection
  • Server URL
  • Headers
  • Body
  • Body Example
  • âš ī¸ Important
  • Code Example
  • Responses

Was this helpful?

  1. Data Extraction - API
  2. API Endpoints - Data Extraction

6. Get results

POST /getBatchResults

This endpoint retrieves the results for a specific batch of documents. By providing the extractionId and batchId, you can obtain the processed data or the current status of the batch, indicating whether the processing is complete or still in progress.

When also providing the fileId, the endpoint filters the results to only that file.

Postman Collection

For a complete and interactive set of API requests, please refer to our Postman Integrationcollection.

Server URL

https://api.extracta.ai/api/v1

Headers

Name
Value

Content-Type

application/json

Authorization

Bearer <token>

Body

Name
Type
Required
Description

extractionId

string

true

The ID of the extraction

batchId

string

true

The ID of the batch

fileId

string

false

The ID of the file

Body Example

{
    "extractionId": "extractionId",
    "batchId": "batchId",
    "fileId": "fileId" // optional
}

âš ī¸ Important

To avoid rate-limiting, please ensure a delay of 2 seconds between consecutive requests to this endpoint.

Code Example

const axios = require('axios');

/**
 * Retrieves the results for a specific batch of documents.
 * 
 * @param {string} token - The authorization token for API access.
 * @param {string} extractionId - The unique identifier for the extraction.
 * @param {string} batchId - The unique identifier for the batch.
 * @param {string} [fileId] - The unique identifier for the file (optional).
 * @returns {Promise<Object>} The promise that resolves to the batch results.
 */
async function getBatchResults(token, extractionId, batchId, fileId) {
    const url = "https://api.extracta.ai/api/v1/getBatchResults";

    try {
        // Constructing the request payload
        const payload = {
            extractionId,
            batchId
        };

        // Adding fileId to the payload if provided
        if (fileId) {
            payload.fileId = fileId;
        }

        const response = await axios.post(url, payload, {
            headers: {
                'Content-Type': 'application/json',
                'Authorization': `Bearer ${token}`
            }
        });

        // Handling response
        return response.data; // Directly return the parsed JSON response
    } catch (error) {
        // Handling errors
        throw error.response ? error.response.data : new Error('An unknown error occurred');
    }
}

async function main() {
    const token = 'apiKey';
    const extractionId = 'extractionId';
    const batchId = 'batchId';
    const fileId = 'optionalFileId'; // Set this to null or undefined if you don't want to include it

    try {
        const batchResults = await getBatchResults(token, extractionId, batchId, fileId);
        console.log("Batch Results:", batchResults);
    } catch (error) {
        console.error("Failed to retrieve batch results:", error);
    }
}

main();
import requests

def get_batch_results(token, extraction_id, batch_id, file_id=None):
    """
    Retrieves the results for a specific batch of documents.

    :param token: The authorization token for API access.
    :param extraction_id: The unique identifier for the extraction.
    :param batch_id: The unique identifier for the batch.
    :param file_id: The unique identifier for the file (optional).
    :return: The batch results as a Python dictionary.
    """
    url = "https://api.extracta.ai/api/v1/getBatchResults"
    
    headers = {
        'Content-Type': 'application/json',
        'Authorization': f'Bearer {token}'
    }
    
    payload = {
        'extractionId': extraction_id,
        'batchId': batch_id
    }
    
    # Adding file_id to the payload if provided
    if file_id:
        payload['fileId'] = file_id

    response = requests.post(url, json=payload, headers=headers)
    
    # Check if the request was successful
    if response.status_code == 200:
        return response.json()  # Return the parsed JSON response
    else:
        # Handle errors or unsuccessful responses
        response.raise_for_status()

# Example usage
if __name__ == "__main__":
    token = 'apiKey'
    extractionId = 'extractionId'
    batchId = 'batchId'
    fileId = 'optionalFileId'  # Set this to None if you don't want to include it

    try:
        batch_results = get_batch_results(token, extractionId, batchId, fileId)
        print("Batch Results:", batch_results)
    except Exception as e:
        print("Failed to retrieve batch results:", e)
<?php

/**
 * Retrieves the results for a specific batch of documents.
 * 
 * @param string $token The authorization token for API access.
 * @param string $extractionId The unique identifier for the extraction.
 * @param string $batchId The unique identifier for the batch.
 * @param string|null $fileId The unique identifier for the file (optional).
 * @return mixed The batch results or an error message.
 */
function getBatchResults($token, $extractionId, $batchId, $fileId = null) {
    $url = 'https://api.extracta.ai/api/v1/getBatchResults';

    // Initialize cURL session
    $ch = curl_init($url);
    
    // Prepare the payload
    $payload = [
        'extractionId' => $extractionId,
        'batchId' => $batchId
    ];

    // Adding fileId to the payload if provided
    if ($fileId !== null) {
        $payload['fileId'] = $fileId;
    }

    $payload = json_encode($payload);

    // Set cURL options
    curl_setopt($ch, CURLOPT_POSTFIELDS, $payload);
    curl_setopt($ch, CURLOPT_HTTPHEADER, [
        'Content-Type: application/json',
        'Authorization: Bearer ' . $token,
    ]);
    curl_setopt($ch, CURLOPT_RETURNTRANSFER, true);
    curl_setopt($ch, CURLOPT_POST, 1);

    try {
        // Execute cURL session
        $response = curl_exec($ch);

        // Check for cURL errors
        if (curl_errno($ch)) {
            throw new Exception('Curl error: ' . curl_error($ch));
        }

        return $response;
    } catch (Exception $e) {
        // Handle exceptions or errors here
        return 'Error: ' . $e->getMessage();
    } finally {
        // Always close the cURL session
        curl_close($ch);
    }
}

// Example usage
$token = 'apiKey';
$extractionId = 'extractionId';
$batchId = 'batchId';
$fileId = 'optionalFileId'; // Set this to null if you don't want to include it

try {
    $batchResults = getBatchResults($token, $extractionId, $batchId, $fileId);
    echo $batchResults;
} catch (Exception $e) {
    echo "Failed to retrieve batch results: " . $e->getMessage();
}

?>

Responses

{
    "extractionId": "extractionId",
    "batchId": "batchId",
    "files": [
        {
            "fileName": "File 2.png",
            "status": "processed",
            "result": {
                "last_job_position": "Full-Stack Developer",
                "name": "John",
                "phone_number": "000 000 000",
                "surname": "Smith",
                "years_of_experience": "6"
            },
            "url": "fileUrl"
        },
        ...
    ]
}
{
    "extractionId": "extractionId",
    "batchId": "batchId",
    "fileId": "fileId",
    "files": [
        {
            "fileName": "File 1.png",
            "status": "processed",
            "result": {
                "last_job_position": "Full-Stack Developer",
                "name": "John",
                "phone_number": "000 000 000",
                "surname": "Smith",
                "years_of_experience": "6"
            },
            "url": "fileUrl"
        }
    ]
}
{
    "extractionId": "extractionId",
    "batchId": "batchId",
    "fileId": "fileId", // optional
    "status": "waiting"
}
{
    "error": "Invalid request"
}
Previous5. Upload FilesNextExtraction Details

Last updated 16 hours ago

Was this helpful?

đŸ’ģ