Getting Started

The Gemina API enables you to extract structured data from documents programmatically. Upload documents via file or URL, receive structured JSON responses with extracted fields, coordinates, and confidence scores.

Base URLhttps://api.gemina.co
AuthenticationX-API-Key: your-api-key

Quick Start

Install the required package and set up your environment:

pip install requests
import os

BASE_URL = os.getenv("GEMINA_BASE_URL", "https://api.gemina.co")
API_KEY = os.getenv("GEMINA_API_KEY", "")
HEADERS = {"X-API-Key": API_KEY}

Authentication

All API requests require authentication via the X-API-Key header:

import requests

headers = {"X-API-Key": "your-api-key"}
response = requests.get(
    "https://api.gemina.co/api/v1/documents/",
    headers=headers
)

Upload Document

Upload a document for extraction using multipart form data:

import requests

url = "https://api.gemina.co/api/v1/documents/uploads"
headers = {"X-API-Key": "your-api-key"}

form_data = [
    ("extraction_types", "invoice_headers"),
    ("extraction_types", "invoice_line_items"),
    ("external_id", "inv-2025-0001"),
    ("model_type", "invictus"),
]

files = {
    "file": ("invoice.pdf", open("./invoice.pdf", "rb"), "application/pdf")
}

response = requests.post(url, headers=headers, data=form_data, files=files)
result = response.json()
print(result)

Response Format

Successful extractions return structured JSON with field values and confidence scores:

{
  "status": "success",
  "meta": {
    "documentId": "9860df92-64fe-4b53-9663-5c11b38a3051",
    "externalId": "inv-2025-0001",
    "filename": "invoice.pdf"
  },
  "data": {
    "extractions": [
      {
        "extractionType": "invoice_headers",
        "status": "success",
        "values": {
          "vendorName": {"value": "Acme Corp", "confidence": "high"},
          "invoiceNumber": {"value": "INV-001", "confidence": "high"},
          "totalAmount": {"value": 1250.00, "confidence": "high"}
        }
      }
    ]
  }
}

API Reference

Extraction Types

  • invoice_headers - Invoice header fields
  • invoice_line_items - Line item details
  • ocr - Full text extraction
  • document_details_hebrew - Hebrew documents

Model Types

  • velox - Fast processing
  • praetorian - Balanced accuracy
  • invictus - Highest accuracy

Endpoints

  • POST /api/v1/documents/uploads
  • POST /api/v1/documents/uploads/web
  • GET /api/v1/documents/{id}
  • GET /api/v1/documents/results/{id}

Response Statuses

  • success - Extraction completed
  • pending - Job queued
  • in_process - Processing
  • failed - Error occurred

Ready to Get Started?

Sign up for a free trial and start extracting data from your documents today.