> ## Documentation Index
> Fetch the complete documentation index at: https://docs.moralis.com/llms.txt
> Use this file to discover all available pages before exploring further.

# Direct Reads: REST/HTTP and Arrow Flight

> Read Data Feeds directly over REST/HTTP for simple pulls, or over Arrow Flight (gRPC) for high-throughput columnar transfers into analytical tooling.

export const RequestAccessButton = ({href = "https://admin.moralis.com/data-feeds", title = "Request an early-access account"}) => {
  return <a href={href} className="request-access-button" style={{
    display: "inline-flex",
    alignItems: "center",
    gap: "8px",
    padding: "12px 24px",
    borderRadius: "8px",
    background: "linear-gradient(135deg, #0f7fff 0%, #0a5fd9 100%)",
    color: "#fff",
    fontSize: "15px",
    fontWeight: 600,
    textDecoration: "none",
    border: "none",
    boxShadow: "0 2px 8px rgba(15, 127, 255, 0.35)",
    transition: "box-shadow 0.15s ease, transform 0.15s ease",
    width: "fit-content"
  }}>
      <style dangerouslySetInnerHTML={{
    __html: `
            .request-access-button,
            .request-access-button:hover {
              color: #fff !important;
              text-decoration: none !important;
            }
            .request-access-button:hover {
              box-shadow: 0 4px 14px rgba(15, 127, 255, 0.5);
              transform: translateY(-1px);
            }
          `
  }} />
      <span>{title}</span>
      <span aria-hidden="true">{"→"}</span>
    </a>;
};

Not every workload needs a database sink, a streaming consumer, or a warehouse. When you want to **pull feed
data on demand**, Data Feeds supports two direct read paths.

## REST / HTTP

Read feed data over plain HTTP. This is the simplest way in: no client libraries beyond an HTTP client, no
infrastructure to run.

**Use it for** spot checks, low-volume integrations, and getting a feel for a feed's shape before committing
to a heavier access method.

## Arrow Flight (gRPC)

[Arrow Flight](https://arrow.apache.org/docs/format/Flight.html) is a gRPC-based protocol for moving
[Apache Arrow](https://arrow.apache.org/) columnar data at high throughput. Instead of serializing rows one
at a time, it transfers column batches that land directly in Arrow-native tooling (dataframes, query
engines, and analytical libraries) without a conversion step.

**Use it for** bulk pulls into Python or other analytical environments, where row-oriented HTTP APIs become
the bottleneck.

## Choosing a direct read path

| You want…                                                  | Use                                           |
| ---------------------------------------------------------- | --------------------------------------------- |
| A quick look at a feed, or a simple low-volume integration | **REST / HTTP**                               |
| Bulk, high-throughput pulls into dataframes or analytics   | **Arrow Flight**                              |
| The same data continuously landed or streamed instead      | See the [access methods overview](./overview) |

<Note>
  **Early access.** Endpoint details and availability per feed are provided during early-access onboarding, see [Early access](../early-access).
</Note>

<RequestAccessButton />
