canonical: https://jentic.com/apis/bytescout.io/bytescout

# Bytescout API

Jentic publishes the only available OpenAPI specification for Bytescout API, keeping it validated and agent-ready. Bytescout API is a cloud document and image processing service that handles PDF extraction, PDF rendering, HTML-to-PDF conversion, barcode generation and reading, and spreadsheet operations through HTTP endpoints. It exposes 30 operations grouped under resource families like PDFExtractor, PDFRenderer, HTMLToPDF, Barcode, File, and Spreadsheet, so an agent can extract text, CSV, or XML from PDFs, merge or split documents, and produce barcodes without bundling local libraries. Authentication is a single API key passed in the apiKey header, and uploaded inputs are referenced through file IDs returned by the upload endpoint.

## For AI agents

Convert HTML to PDF, extract text or CSV from PDF documents, generate or read barcodes, and manage uploaded files via the Bytescout cloud document API.

## Scope

Does not handle digital signatures, OCR with handwriting recognition, or document storage beyond temporary file IDs - use for cloud PDF, barcode, and HTML conversion tasks only.

## Capabilities

- Convert HTML pages to PDF documents through `/api/v1/htmltopdf/convert`
- Extract text, CSV, or XML data from uploaded PDFs via the PDFExtractor endpoints
- Merge or split PDF documents using documentmerger and documentsplitter operations
- Generate and decode 1D and 2D barcodes through the Barcode and BarcodeReader endpoints
- Render PDF pages to images with `/api/v1/pdfrenderer/render`
- Upload, download, and delete files referenced by FileId for downstream processing

## Use cases

### Automated Invoice PDF Generation

Convert HTML invoice templates into branded PDF documents at scale by posting rendered HTML to `/api/v1/htmltopdf/convert.` The API returns a downloadable PDF that can be emailed or archived, removing the need to bundle a headless browser or wkhtmltopdf binary in the agent runtime. Suitable for billing systems generating thousands of invoices per day.

Example prompt: Send the rendered invoice HTML to `/api/v1/htmltopdf/convert` and store the returned PDF URL on the order record.

### PDF Data Extraction Pipeline

Pull structured data out of PDF statements, contracts, or scanned forms using the PDFExtractor family - text, CSV, XML, and document info extractors handle different downstream needs. Agents upload the source file, call the appropriate extractor, and receive parsed output ready for ingestion into a database or LLM context window. Typical turnaround is seconds per document.

Example prompt: Upload a bank statement PDF, call `/api/v1/pdfextractor/csvextractor/extract` with the returned FileId, and parse the CSV response into transaction rows.

### Barcode Generation and Reading

Produce barcode images for shipping labels and product catalogs via `/api/v1/barcode/generate`, and decode barcodes from uploaded images via `/api/v1/barcodereader/read.` Supports common 1D and 2D symbologies so warehouse and retail agents can both label and scan inventory through a single API surface.

Example prompt: Call `/api/v1/barcode/generate` with a SKU value and Code 128 type, then save the returned image URL to the product record.

### Document Merge and Split Workflows

Combine multiple PDF receipts into a single monthly archive, or split a long contract bundle into per-section files, using documentmerger and documentsplitter. The agent uploads source files, references them by FileId, and receives the resulting PDF for download. Useful for legal, accounting, and HR document automation.

Example prompt: Upload three receipt PDFs, call `/api/v1/pdfextractor/documentmerger` with the three FileIds, and download the merged archive PDF.

### AI Agent Document Processing via Jentic

Through Jentic, AI agents discover Bytescout operations by intent - for example searching for 'extract text from a PDF' returns the textextractor operation with its input schema. The agent loads the schema, executes with a FileId, and gets parsed output, all without storing the apiKey header value in its own context. Integration takes under an hour rather than the days needed to wire up direct API calls.

Example prompt: Use Jentic search for 'extract text from a PDF', load the textextractor schema, and execute it with a previously uploaded FileId.

## Key endpoints

| Method | Path | Description |
| --- | --- | --- |
| POST | `/api/v1/htmltopdf/convert` | Convert HTML to PDF |
| POST | `/api/v1/pdfextractor/textextractor/extract` | Extract plain text from a PDF |
| POST | `/api/v1/pdfextractor/csvextractor/extract` | Extract tabular data as CSV from a PDF |
| POST | `/api/v1/pdfextractor/documentmerger` | Merge multiple PDFs into one |
| POST | `/api/v1/pdfextractor/documentsplitter` | Split a PDF into separate documents |
| POST | `/api/v1/barcode/generate` | Generate a barcode image |
| POST | `/api/v1/barcodereader/read` | Decode barcodes from an image |
| POST | `/api/v1/file/upload` | Upload a file and receive a FileId |

## Key resources

- **PDFExtractor** — Extract text, CSV, XML, and metadata from PDF files; merge and split documents.
- **PDFRenderer** — Render PDF pages to image formats.
- **HTMLToPDF** — Convert HTML markup or URLs into PDF documents.
- **PDFToHTML** — Convert PDF documents into HTML for web display.
- **Barcode** — Generate 1D and 2D barcode images.
- **BarcodeReader** — Decode barcodes from uploaded image files.
- **File** — Upload, download, and delete files referenced by FileId or PublicFileId.
- **Spreadsheet** — Process spreadsheet documents for conversion and extraction.
- **UserInfo** — Retrieve account and quota information for the authenticated key.

## Why Jentic

- **Setup:** Wiring the Bytescout API by hand means setting the apiKey header on every call and juggling the two-step file upload then convert flow across PDF, barcode, and HTML operations. Through Jentic you install once, import Bytescout from the API Directory, store the key once, and your agent calls it.
- **Permission scoping:** Bytescout addresses each task by endpoint rather than a resource id in the URL path, so scoping stays at the operation level: you limit the agent to the operations it needs, such as PDF text extraction on `/api/v1/pdfextractor/textextractor/extract` or barcode generation on `/api/v1/barcode/generate`, and leave the rest out unless you add them.
- **Credential handling:** Your Bytescout apiKey is stored once, encrypted, by your own Jentic One instance and injected into the header at execution time. It never enters the agent's prompt, logs, or context.
- **Discovery method:** Agents search Jentic by intent such as 'extract text from a PDF' or 'generate a barcode', and Jentic returns the matching Bytescout operation with its input schema so the agent calls the right endpoint without browsing the reference docs.

## Related APIs

- **CallFire API** — CallFire handles voice and SMS while Bytescout handles document and barcode processing.
- **Calm API** — Calm provides wellness content while Bytescout provides document processing - different domains, occasionally combined in employee wellbeing apps that generate PDF reports.
- **Caiyun Weather API** — Both are third-party utility APIs but Caiyun returns weather data rather than processing documents.

## FAQ

### Why is there no official OpenAPI spec for Bytescout API?

Bytescout does not publish an OpenAPI specification on their own developer site. Jentic generates and maintains this spec so that AI agents and developers can call Bytescout API via structured tooling. It is validated against the live API and kept up to date. Get started with Jentic One, the self-hosted execution layer.

### What authentication does the Bytescout API use?

The Bytescout API uses an API key passed in the apiKey HTTP header on every request. Through Jentic, the key is stored encrypted in the credential vault and the agent never sees the raw value - Jentic injects it at execution time only.

### Can I extract tabular data from a PDF with the Bytescout API?

Yes. Upload the PDF to `/api/v1/file/upload` to receive a FileId, then call `/api/v1/pdfextractor/csvextractor/extract` with that FileId to get back CSV rows. There is also an XML extractor and a text extractor for non-tabular content.

### What are the rate limits for the Bytescout API?

Bytescout enforces credit-based quotas tied to the subscription plan rather than fixed per-second limits, and limits are not declared in the OpenAPI spec. Consult the account dashboard for remaining credits before running large batch jobs.

### How do I convert HTML to PDF with the Bytescout API through Jentic?

Run a Jentic search for 'convert HTML to PDF', load the schema for `/api/v1/htmltopdf/convert`, then execute with the HTML payload. Install the SDK with pip install jentic and use the async search, load, and execute pattern.

### Is the Bytescout API free?

Bytescout offers a free tier with monthly credits and paid plans for higher volumes. Pricing is per credit and varies by operation - PDF rendering and extraction consume more credits than barcode generation.

### Can I limit what my agent is allowed to do with the Bytescout API?

Yes. Because you run Jentic One yourself, your own rules decide which Bytescout operations and credentials the agent can use, and Bytescout scopes cleanly at the operation level since each task maps to its own endpoint rather than a resource id in the URL. You can allow only the operations the agent needs, such as PDF text extraction on `/api/v1/pdfextractor/textextractor/extract` or barcode generation on `/api/v1/barcode/generate`, and leave everything else out. Operations you do not add, like document merging or file deletion, stay unavailable to the agent.
