Skip to main content
IPED provides two main APIs for programmatic access to digital forensics capabilities:
  • Core Java API: Direct access to IPED’s processing engine and data structures
  • Web API: RESTful HTTP endpoints for remote case access and search

Core Java API

The Core Java API enables developers to build custom forensic tools and automated workflows using IPED’s processing capabilities.

Key Components

Item API

Access and manipulate evidence items with IItemReader and IItem interfaces

Search API

Query and filter evidence using Lucene-based search with IPEDSearcher

Task API

Extend IPED with custom processing tasks using AbstractTask

Web API

REST endpoints for remote case access and automation

Getting Started

Maven Dependencies

Add IPED dependencies to your pom.xml:

Quick Example

Access an IPED case and search for items:

Architecture

Data Flow

Core Interfaces

Use Cases

Automated Analysis

Build custom analysis workflows:

Custom Processing Tasks

Extend IPED’s processing pipeline:

Remote Access

Query cases via REST API:

Performance Considerations

Large Result Sets: When searching returns more than 1 million items, scoring is automatically disabled. Use setNoScoring(true) for better performance on large searches.
Streaming Content: Always use getBufferedInputStream() or getSeekableInputStream() instead of getTempFile() to avoid spooling large files to disk.

Thread Safety

IPEDSource and IPEDSearcher are thread-safe for read operations. For processing tasks, each worker thread maintains its own task instances.

Error Handling

Next Steps

Item API Reference

Learn about accessing item properties and content

Search API Reference

Master query syntax and search operations

Web API Reference

Explore REST endpoints for remote access

Task Development

Create custom processing modules