Getting Started with Apache Tika

Table of Contents

Four ways to use Tika. Pick by how you need to call it.

Integration What it is Best for

Java API

Tika embedded in your Java application

Tight integration and full control over parsing behavior

Command line (tika-app)

A standalone jar you run per file or per directory

Quick extraction, shell scripts, one-off tasks

Server (REST)

A standalone service with an HTTP API

Language-agnostic integration and microservice architectures

gRPC

A standalone service speaking gRPC

High-performance, cross-language communication

tika-grpc is more exposed by default than tika-server: no transport security, no per-caller authorization, and its core fetch-and-parse surface is always on. (Its most dangerous capabilities — runtime fetcher/iterator changes and per-request parse configuration — are off by default.) Run it only on a trusted, access-controlled network. See Security.

For large volumes of documents, Tika Pipes adds fault-tolerant, scalable processing and works with all four.

To run the server or gRPC service from a published image rather than a distribution zip, see Running Tika in Docker.

Resources