Apache Camel is an open source integration framework with 350+ connectors. Write routes in Java, YAML, or XML. Run on Spring Boot, Quarkus, or standalone. Apache License 2.0.

Clone this repo:
  1. 0aa0c02 camel-tui: Fix F9 jump to error for lines added during editing by Claus Ibsen · 31 hours ago main
  2. b31af5d chore: Avoid DNS resolution in YAML DSL resolver URL deduplication by Claus Ibsen · 31 hours ago
  3. 9a265c2 camel-tui: Fix schema tree node names to match YAML DSL keys by Claus Ibsen · 32 hours ago
  4. 663ad7e camel-tui: Fix completion indent for nested EIPs and add list prefix by Claus Ibsen · 33 hours ago
  5. 947aa5f CAMEL-24392: Fix BacklogTracerRouteAdvice draining WrappedFile streambody by Gaëlle Fournier · 32 hours ago

Apache Camel

Maven Central Javadocs Stack Overflow Chat Twitter

Apache Camel is an open source integration framework with 350+ connectors for databases, APIs, message brokers, and cloud services. Write routes in Java, YAML, or XML. Run on Spring Boot, Quarkus, or standalone with the Camel CLI. In production since 2007 — used by thousands of companies worldwide. Apache License 2.0.

What is Apache Camel? | Getting Started | Components | Tooling

Get started in seconds

camel init hello.yaml
camel run hello.yaml

Or add to your existing Spring Boot project:

<dependency>
    <groupId>org.apache.camel.springboot</groupId>
    <artifactId>camel-spring-boot-starter</artifactId>
</dependency>

Write it your way

The same route in YAML, Java, or XML — pick what fits your team:

YAML:

- route:
    from:
      uri: kafka:incoming-orders
      steps:
        - unmarshal:
            json: {}
        - to:
            uri: sql:INSERT INTO orders(id, data) VALUES(:#${header.id}, :#${body})

Java:

from("kafka:incoming-orders")
    .unmarshal().json()
    .to("sql:INSERT INTO orders(id, data) VALUES(:#${header.id}, :#${body})");

Runtimes

RuntimeWhat it does
Camel Spring BootCamel on Spring Boot with starters for 350+ connectors
Camel QuarkusCloud-native Camel with fast startup, low memory, native compilation
Camel CLIRun, develop, test, and trace routes from the command line

Other runtimes: Camel K (Kubernetes), Camel Karaf (OSGi), Camel Kafka Connector (Kafka Connect)

Components

350+ connectors for connecting to anything — Kafka, REST, JDBC, AWS, Azure, GCP, Salesforce, and more:

AI integration

Apache Camel provides an MCP server (Model Context Protocol) for AI coding assistants — Claude Code, GitHub Copilot, Cursor, and Gemini CLI get full Camel catalog context. Camel also includes components for LangChain4j and OpenAI, and supports the A2A agent-to-agent protocol for connecting AI agents to enterprise systems.

Visual designers

  • Kaoto — open source visual designer for Camel routes, drag-and-drop, no code required
  • Karavan — visual designer for Camel integrations in VS Code and standalone

Examples

Contributing

We welcome all kinds of contributions:

https://github.com/apache/camel/blob/main/CONTRIBUTING.md

Community

Licensing

Apache License 2.0 — see LICENSE.txt.