An API for asynchronous programming
with observable streams

Choose your platform

The Observer pattern done right

ReactiveX is a combination of the best ideas from
the Observer pattern, the Iterator pattern, and functional programming



Easily create event streams or data streams.


Compose and transform streams with query-like operators.


Subscribe to any observable stream to perform side effects.


ReactiveX is everywhere, and it's meant for everything.


Manipulate UI events and API responses, on the Web with RxJS, or on mobile with Rx.NET and RxJava


Available for idiomatic Java, Scala, C#, C++, Clojure, JavaScript, Python, Groovy, JRuby, and others


Embrace ReactiveX's asynchronicity, enabling concurrency and implementation independence

Better codebases


Avoid intricate stateful programs, using clean input/output functions over observable streams.

Less is more

ReactiveX's operators often reduce what was once an elaborate challenge into a few lines of code.

Async error handling

Traditional try/catch is powerless for errors in asynchronous computations, but ReactiveX is equipped with proper mechanisms for handling errors.

Concurrency made easy

Observables and Schedulers in ReactiveX allow the programmer to abstract away low-level threading, synchronization, and concurrency issues.

Reactive Revolution

ReactiveX is more than an API, it's an idea and a breakthrough in programming. It has inspired several other APIs, frameworks, and even programming languages.

We use ReactiveX