Rakam API

This is your company-wide data and analytics platform. Easy to install, addictive to use.

Try It Free

Rich analytical features with more than 60 endpoints

Rakam API is a RESTFul API with more than 60 endpoints. You send your data, integrate your data sources using this API and you will also be using this API in order to analyze your data and run SQL queries. We use Swagger as API framework and provide both mobile and web SDKs for you to integrate Rakam into your applications.

Designed to handle your event-data at any scale

It's developed in Java 8 and Javascript V8 and designed for big-data. A simple 2GB server can handle +10K events per second, our customers process more than 30B events monthly with Rakam API

One-click installers to your cloud provider

We also provide one click installers to cloud providers such as AWS, Heroku, Digitalocean. They take care of load balancing and help you deployment and scaling the cluster. You don’t need a data engineer.

Customizable, it scales with your company

We’re aware that your analytics needs change when your company grows but your analytics services doesn’t grow with your company and in fact, that’s why we created Rakam. You can enrich your data with your custom logic, create your own modules and build your own solutions such as recommendation, fraud detection using the data collected via Rakam.

Data collection


External data sources

Third-party data sources

Pro tip

If you have billions of data and want to power your dashboards using complex queries, we also provide ways to create summary tables from your raw data with materialialized views. We pre-process your data incrementally and allow you to create workflows with SQL.

Data analysis

  1. SELECT total_order_amount / fb.spent_amount_total AS revenue_ads_ratio FROM (
  2. SELECT cast(_time AS date) day, sum(total_amount) AS total_order_amount FROM (
  3. SELECT _user, total_amount FROM collection.transaction
  4. JOIN mysqldb.users ON (users.id = transaction._user)
  5. UNION ALL SELECT user_id, total_amount FROM remotefile.offlinesales
  6. ) WHERE _user IN (SELECT user_id FROM materialized.gold_users WHERE clearbit_job = 'Doctor')
  7. ) orders JOIN fb_advertisement fb ON (orders.day = fb.day)

Customizable ETL

The ETL process in Rakam API is completely transparent. We have both native and custom event mappers, you can write modules that implements native event mappers in Java for stateful and fast ETL tasks and inject it to your Rakam API event collection process.
However writing Java modules are not an easy task so we have custom event mappers with Javascript embedded in Rakam. You can basically write Javascript mappers and let Rakam to invoke them when a new event arrives. They may enrich your event data or sanitize bad inputs, it's up to you.

In fact, in most cases you won't need to write event mappers because Rakam provides a set of event mappers for different use-cases. However, it's important for us to provide you the ways to enrich and sanitize your event data so that you can embed your event pipeline inside Rakam without hassle.
See event mappers section in documentation.

Collect Data from

Rakam is data agnostic, you can send any kind of event data-set as long as it's immutable. You can just use the SDKs in order to ingegrate your application with Rakam easily or use the RESTFul API. We also provice embedded scheduled tasks, webhooks and some high level features for you to collect data from third party services. You can basically embed your scripts in Rakam and let it collect data for you. No cron-jobs, no manual process and no extra work after you setup the tasks.
See collecting events section in documentation.