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

# Quickstart

> Get your API key and make your first request in under five minutes.

<CardGroup cols={2}>
  <Card title="Make your first request" href="/api-reference" icon="terminal">
    REST endpoints for filings, funds, financial statements, and events.
  </Card>

  <Card title="Choose a workflow" href="/fund-monitoring" icon="diagram-project">
    Guides for NAV, disclosures, filings, dividends, and board changes.
  </Card>

  <Card title="Use the SDK" href="/sdks" icon="code">
    Python tooling for webhook verification, event parsing, and API reads.
  </Card>

  <Card title="Receive webhooks" href="/webhooks" icon="webhook">
    Signed push delivery for market events.
  </Card>
</CardGroup>

## 1. Get an API key

Sign in at [portal.rangler.co](https://portal.rangler.co) and create an organization. Then generate a sandbox API key.

The key is shown once. Copy it to your secret manager or `.env` file immediately.

## 2. Pick your integration path

Start with webhooks for production event delivery. Use event feeds for initial history and checks for missed deliveries.

See [Webhooks and Event Feeds](/polling-vs-webhooks) for the trade-offs, and [SDKs](/sdks) if you want a typed client instead of raw HTTP.

## 2a. Pick a workflow package

Start with a workflow, not a raw endpoint list. [Fund Monitoring](/fund-monitoring) covers NAV, disclosures, and fund updates. [Issuer Monitoring](/issuer-monitoring) covers filings, dividends, and board-change alerts.

[Company Intelligence](/company-intelligence) covers forecasts, trades, meetings, direct board-change data, mentions, news, and market time.

## 3. Make your first request

<Tabs>
  <Tab title="Financials">
    ```bash theme={null}
    curl -sG https://sandbox-api.rangler.co/v1/company/financials/income-statement/standardized \
      -H "X-API-Key: rgl_test_your_key_here" \
      --data-urlencode "company=ACCESSCORP" \
      --data-urlencode "countryCode=NG" \
      --data-urlencode "periodType=annual,latest" \
      --data-urlencode "includeSources=false" | python3 -m json.tool
    ```
  </Tab>

  <Tab title="Filings">
    ```bash theme={null}
    curl -s https://sandbox-api.rangler.co/v1/filings?limit=5 \
      -H "X-API-Key: rgl_test_your_key_here" | python3 -m json.tool
    ```
  </Tab>

  <Tab title="Funds">
    ```bash theme={null}
    curl -s https://sandbox-api.rangler.co/v1/funds?limit=5 \
      -H "X-API-Key: rgl_test_your_key_here" | python3 -m json.tool
    ```
  </Tab>

  <Tab title="Events">
    ```bash theme={null}
    curl -s "https://sandbox-api.rangler.co/v1/events?limit=10" \
      -H "X-API-Key: rgl_test_your_key_here" | python3 -m json.tool
    ```
  </Tab>
</Tabs>

Responses are JSON. Errors follow [Errors](/errors).

The Financials example requires a paid organization with the `data` scope. A sandbox key still observes the organization's plan entitlement.

## 4. Explore the data

Try:

| Endpoint | What it returns |
| - | - |
| `GET /v1/company/financials/income-statement/standardized?company=ACCESSCORP&countryCode=NG` | Standardized income-statement history and optional filing sources |
| `GET /v1/companies` | Listed companies with market, sector, and ticker |
| `GET /v1/companies/{id}/filings` | Filings for a specific company |
| `GET /v1/funds/{id}` | Fund detail with `latest_snapshot` (most recent NAV) and `latest_holdings_snapshot` (most recent disclosure with holdings) |
| `GET /v1/funds/{id}/snapshots` | Historical fund snapshots with month-over-month and year-over-year deltas |
| `GET /v1/events?type=dividend.declared` | Filter the event feed by type |

See [Financial data](/financials/overview), [Response Conventions](/responses), and the [API Reference](/api-reference) for details.

## 5. Add Rangler SDKs

Use `ranglerpy` for webhook verification, typed event parsing, duplicate-delivery helpers, and API reads. See [SDKs](/sdks). Production receivers still require shared, durable storage for processed event IDs.

## 6. Receive events via webhook

For webhooks:

<Steps>
  <Step>
    ### Register a webhook endpoint

    Create the endpoint in the portal and point it at the receiver URL you want to validate.
  </Step>

  <Step>
    ### Send a test ping

    Validate transport and signing before you subscribe to live traffic.
  </Step>

  <Step>
    ### Create an event subscription

    Filter by event type, company, or fund.
  </Step>

  <Step>
    ### Receive signed deliveries

    Rangler sends matching events with retries and HMAC signatures.
  </Step>
</Steps>

See [Webhooks](/webhooks) for delivery behavior and signature verification, and [Events](/events) for event types and their payload format.

## 6a. Test in sandbox before you go live

Use [Sandbox Testing](/sandbox-testing) for managed test events, signature verification, delivery inspection, and checks for missed events.

## 7. Go live

For production:

<Steps>
  <Step>
    ### Generate a live key

    Create an `rgl_live_` key and keep it separate from sandbox.
  </Step>

  <Step>
    ### Switch to the live base URL

    Use `https://api.rangler.co/v1`.
  </Step>

  <Step>
    ### Review webhook targets and subscriptions

    Webhook endpoints and subscriptions are managed at the organization level. Confirm the receiver URL and rules before enabling live traffic.
  </Step>

  <Step>
    ### Handle rate limits cleanly

    Back off on `429` responses. See [Errors](/errors).
  </Step>
</Steps>

API keys and API traffic are isolated by environment. Webhook configuration is managed at the organization level. See [Environments](/environments).

## FAQ

<AccordionGroup>
  <Accordion title="Should I start with webhooks or event-feed reads?">
    Start with webhooks for product workflows. Use event feeds only to load earlier events and check for missed deliveries.
  </Accordion>

  <Accordion title="Do sandbox requests count against live usage?">
    No. Sandbox usage is isolated from live usage.
  </Accordion>

  <Accordion title="Do I need the SDK on day one?">
    No. Raw HTTP is enough to start. Use the SDK for webhook verification, event parsing, and API helpers.
  </Accordion>
</AccordionGroup>


This documentation is built and hosted on [Mintlify](https://mintlify.com), a developer documentation platform.