Maltego Transforms SDK Overview

Modified on Tue, 14 Jul at 12:22 PM

This article is a routing page for the Maltego Transforms SDK (Python
package ``maltego-transforms``). If you are looking for the older Maltego
TRX library, iTDS, or classic TDS/Transform Server setup guides, see
*Transform Libraries* and the articles in *Legacy Code* in this same
category instead. This SDK is not the TRX/classic protocol stack. For
current Graph Browser and Graph Desktop compatibility, see the *Client
Support and Limitations* article in this SDK documentation section.

What is the Maltego Transforms SDK?

maltego-transforms is Maltego's current Python SDK for building Maltego transform servers. It replaces maltego-trx as the recommended framework for new integrations. It provides typed entity classes, a transform server runtime, authentication, pagination, and Maltego Hub publishing support out of the box.

The quickest way to learn the SDK is to generate a project and use the shipped starter files as a working reference:

pip install maltego-transforms
maltego-transforms start my_project
cd my_project
python -m venv .venv
source .venv/bin/activate
pip install -r requirements.txt
python project.py

When the server starts, add the seed URL shown by the server to Maltego. The public-safe generated project runs over HTTP by default and serves http://127.0.0.1:3000/seed. Older local templates may use development HTTPS certificates and serve https://127.0.0.1:3000/seed instead.

Current SDK version: 1.0.0.

Who this is for

  • Developers building a new Maltego transform server in Python.
  • Teams migrating an existing Maltego TRX (maltego-trx) transform server to the current SDK.
  • Anyone integrating a third-party data source with Maltego via custom Transforms, Entities, or Hub items.

This is not:

Start here if you want to...

Page map

ArticleOne-line description
Installing and Setting Up the SDKInstall the SDK, generate a starter project, run the dev server.
Using AI Agent Skills with the SDKInstall/use the SDK's provider-agnostic AI agent skills.
Writing Your First Transform (Quickstart)@register_transform, typed input entities, returning a graph.
Standard Entities OverviewAvailable standard entity classes and import patterns.
Composed EntitiesComposing entities from multiple standard entities.
Pydantic Mapping PatternsMapping Pydantic models to Maltego entities and back.
Entity Features (Overlays, Links, Notes)Entity properties, overlays, links, display configuration.
Transform SettingsDefining and reading transform settings.
Server ConfigurationHost/port/HTTPS/CORS config, discovery endpoints, health checks.
HTTPS, Certificates, and Browser Trust

Certificate trust checklist for browser-based transform setup.

Deploying Behind a Reverse Proxy

Proxy/gateway config, TLS modes, and the request processing chain.

Transform MiddlewaresRequest/response hooks, custom middleware, where they sit in the request chain relative to authentication.
LoggingStructured logging configuration for transforms.
Error HandlingExceptions and UI error messages in transforms.
Interactive PromptsPrompt templates for mid-execution user input.
Input ConstraintsValidating entity input before a transform runs.
Hub ItemsMetadata, icons, and pricing for Maltego Hub distribution.
AuthenticationAPI key, OAuth, and bearer token auth patterns.
OAuth AuthenticationImplementing OAuth authentication in transforms.
PaginationCursor-based and offset-based pagination patterns.
Transform SetsGrouping transforms for Maltego Hub distribution.
Maltego Transforms SDK product setup

Making a configured SDK data source available in Maltego Graph Browser.

Machines (SDK)Defining and using Maltego machines with the SDK.
Execution RunnerAsync execution, concurrency, and transform lifecycle.
Integration Client (HTTP Calls)Async HTTP client for transforms: retries, auth injection.
SDK API ReferenceClass/method reference: MaltegoGraph, MaltegoEntity, MaltegoContext, MaltegoLink, TransformSetting, TransformMiddleware, MaltegoHubItem.
SDK ExamplesWorked examples: entity lookups, enrichment, multi-entity output.
Moving from TRX to the current SDKMigrating from maltego-trx: class patterns, request/response idioms.

Important caveats

  • These are docs for the current maltego-transforms SDK only. They do not cover the TRX/classic protocol, iTDS, or Transform Distribution Server (TDS) administration -- see TRX Transform Library Guide, What is a Transform Distribution Server (TDS)?, and Writing Transforms in this category for that material.
  • Legacy TRX/iTDS content in this Freshdesk category (Maltego TRX, Canari3, and other third-party libraries) remains valid for existing deployments and is not being deprecated by this SDK's arrival.
  • Standard entities are provided by a separate companion package, maltego-transforms-std-entities, installed independently; it is not bundled automatically with maltego-transforms.
  • Authentication, server host/port, and discovery-endpoint behavior are configured per project via MaltegoServerSettings and related settings objects -- see Server Configuration and Authentication. There is no implicit/default auth; unauthenticated transform servers are the default and must be explicitly secured if required.
  • To let Maltego Graph Browser discover and run transforms directly against a local transform server, CORS must be configured -- see the CORS section of Server Configuration.

Was this article helpful?

That’s Great!

Thank you for your feedback

Sorry! We couldn't be helpful

Thank you for your feedback

Let us know how can we improve this article!

Select at least one of the reasons
CAPTCHA verification is required.

Feedback sent

We appreciate your effort and will try to fix the article