What is Apperate?#

Apperate is an event processing platform specialized for finance. Here’s what it does:

Let’s take a closer look at these capabilities, starting with data connections.

Connecting to Data#

Apperate integrates over 5+ terabytes of Financial Data, real-time, historical, and time series data, including:

The IEX Cloud Data endpoint pages (shown below) make them ripe for calling by providing a live request and response widget, examples, links to guides, and more.

Data Bundles provide core financial data. The IEX Cloud Data is available via Data Bundles that you can purchase to access Financial Data REST APIs and streams.

For example, here is an HTTP request for the latest Apple stock quote. (The Stock Quote endpoint is available in the Equities Market Data data bundle).

https://api.iex.cloud/v1/data/CORE/QUOTE/aapl?token=YOUR_API_TOKEN

[
  {
    "avgTotalVolume": 87389383,
    "calculationPrice": "close",
    "change": -0.98,
    "changePercent": -0.00638,
    "close": 152.74,
    "closeSource": "official",
    "closeTime": 1663876800335,
    "companyName": "Apple Inc",
    "currency": "USD",
    "delayedPrice": 152.77,
    "delayedPriceTime": 1663876777899,
    "extendedChange": -0.055,
    "extendedChangePercent": -0.00036,
    "extendedPrice": 152.685,
    "extendedPriceTime": 1663882155694,
    "high": 154.47,
    "highSource": "15 minute delayed price",
    "highTime": 1663876799999,
    "latestPrice": 152.74,
    ...
  }
]

Connect with even more event data via streaming data Connectors to Coinbase BETA, Ethereum, and MySQL.

Event publishing to our Serverless Event Router. Send events directly to Apperate’s Serverless Event Router to enhance real-time event experiences. Publish events via our POST /record endpoint or our apperate.write() JavaScript method. For example, the apperate.write() call below publishes news event data.

const {Client} = require("@apperate/iexjs")
const client = new Client({api_token: "SECRET_TOKEN", version: "VERSION"});
client.apperate.write({
    workspace: "YOUR_WORKSPACE", 
    id: "YOUR_NEWS_EVENTS", 
    createDatasetOnDemand: true, 
    data: [
        {"headline": "Space traveler bids are stacking up", "content": "You may know some of these celebrities and billionaires ...", "ticker": "AMZN", "source": "IEX Underground", "date": "2022-07-14"}]
    });

Query data with ease using Apperate’s Data API. It’s a snap to query data stored in Apperate (including querying Core Financial Data). Enter a dataset and a key index value (e.g., ticker symbol) into a GET /data request to get data immediately. You can time-window historical data using the GET /data endpoint’s range parameters.

GET /data/CORE/QUOTE/AMZN

[
  {
    "avgTotalVolume": 87306634,
    "calculationPrice": "close",
    "change": -2.04,
    "changePercent": -0.01998,
    "close": 100.05,
    "closeSource": "official",
    "closeTime": 1675890000839,
    "companyName": "Amazon.com Inc.",
    ...
  }
]

After connecting with the data you want, you can “shape” it–unify, enrich, and transform it.

Shaping Data#

Apperate empowers you to craft data to fit your needs.

Unify data accross supported financial identifiers. Want to use Nasdaq (INET) symbols to query data that has FIGI symbols? No problem–Apperate resolves equivalent supported identifiers. For example, Apperate matches Apple’s INET symbol AAPL to its FIGI symbol US0378331005.

GET /data/MY_WORKSPACE/MY_NEWS/AAPL

Response:

[
  {
    "content": "Everyone is all ears for the new AirPods...",
    "date": "2023-01-18",
    "headline": "This new Earbud's for you!",
    "source": "IEX Underground",
    "ticker": "US0378331005"
  }
]

See Normalized Financial Symbols for more details.

Create Views to aggregate data. In the console, you can Join data from multiple datasets (core data or your data) to deliver the exact data you want. For example, you can Join data from IEX’s COMPANY dataset and QUOTE dataset.

SELECT c.symbol, q.companyName, q.latestPrice, q.latestUpdate, c.ceo, c.website, c.phone
  FROM CORE.COMPANY c 
  JOIN CORE.QUOTE q 
    ON c.symbol = q.symbol

When you click Create View for your query, Apperate creates a View Dataset from the query and auto-generates a REST endpoint for it! Here’s a View endpoint call:

GET /data/MY_WORKSPACE/VIEW_COMPANY_QUOTES/AMZN

Response:

[
  {
    "ceo": "Andy Jassy",
    "phone": "12062661000",
    "symbol": "AMZN",
    "website": "aboutamazon.com",
    "companyName": "Amazon.com Inc.",
    "latestPrice": 100.05,
    "latestUpdate": 1675890000839
  }
]

Create Rules to share event data and more. Define Rules (no code needed) that listen for events that match fine-grained conditions, and that push notifications (email, SMS, Slack BETA, and more) with the data you want. The notifications can include data from the triggering event and state data from any other datasets (core data or your data).

Next, you can deliver data where you want.

Delivering Data#

Apperate enables you to publish data in several ways.

Rules allow you to push data in alerts as mentioned above, to email addresses, Slack BETA channels, and more.

Auto-generated REST endpoints enable you to share datasets. Data you store in Apperate reside in datasets. Each dataset has an auto-generated API (REST endpoint) complete with online documentation, like what’s shown below.

You can share endpoint access with people you want via API tokens.

Where to get started?#

Here are some paths to choose from:

Want IEX Cloud Core Financial Data? Explore our Data Bundles, tour Core Financial Data in the Console, and surf the IEX Cloud Data endpoint docs. Then jump into action with querying Core Financial Data and aggregating data using Views.

Want to act on real-time events? Discover how easy it is to create event-triggered Rules and push data where you want. See Processing Events to get started.

Want end-to-end data management for your app? Connect to data (from Coinbase BETA, Ethereum, MySQL, URLs, S3 buckets, or files) or write records on-the-fly, and start using your data’s auto-generated REST endpoints. Apperate infers a schema for your data too–you can fine-tune the schema the way you want. Incoming data is validated against the schema, so you can build on your data confidently. Start with our short tutorials on writing data on the fly, or ingesting data from your favorite data source or from our sample file; then explore leveraging your dataset-related events.