# Algorand Applications API
> Browse Algorand applications (smart contracts) live from the public AlgoNode indexer — no key. On Algorand a smart contract is an "application" with a numeric id, a creator, TEAL approval/clear programs and key-value global state. The Algorand on-chain reader resolves account, ASA-token and governance state, but it cannot browse the application universe, read an app's decoded global state, or list the apps a creator has deployed. This opens that. Browse the deployed applications with their id, creator and creation round; read one app in full — its decoded global state (the contract's on-chain key-value variables, keys and byte-values decoded from base64), its global/local state schema (how many uint and byte-slice slots it reserves) and its program presence; and list every application created by an address. The smart-contract layer for Algorand explorers, dApp dashboards, wallets and analytics. Distinct from the Algorand on-chain reader (account state), the ASA token reader and the governance reader. Live from the indexer; short cache only.

## Authentication
All requests require your oanor API key in the `x-oanor-key` header. Get one at https://www.oanor.com/developer/keys.

```bash
curl -H "x-oanor-key: oanor_live_…" "https://api.oanor.com/algorandapps-api/..."
```

## Pricing
- **Free** (Free) — 9,200 calls/Mo, 3 req/s
- **Starter** ($8/Mo) — 172,000 calls/Mo, 10 req/s
- **Pro** ($28/Mo) — 900,000 calls/Mo, 25 req/s
- **Scale** ($82/Mo) — 5,450,000 calls/Mo, 60 req/s

## Endpoints

### Apps

#### `GET /v1/apps` — Browse Algorand applications

**Parameters:**
- `limit` (query, optional, string) — Page size (1-100) Example: `25`

**Example:**
```bash
curl -H "x-oanor-key: $KEY" \
  "https://api.oanor.com/algorandapps-api/v1/apps?limit=25"
```

**Response:**
```json
{
    "data": {
        "apps": [
            {
                "id": 60553466,
                "creator": "WEXK776EPAM56PTNEOQZPO2U5JRZPT4WV5IKEBFBYPW4BGQ3SVUPFAQB4M",
                "deleted": false,
                "created_at_round": 9927738,
                "global_state_count": 11
            },
            {
                "id": 60656593,
                "creator": "WEXK776EPAM56PTNEOQZPO2U5JRZPT4WV5IKEBFBYPW4BGQ3SVUPFAQB4M",
                "deleted": false,
                "created_at_round": 9930998,
                "global_state_count": 21
            },
            {
                "id": 60699511,
                "creator": "WEXK776EPAM56PTNEOQZPO2U5JRZPT4WV5IKEBFBYPW4BGQ3SVUPFAQB4M",
                "deleted": false,
                "created_at_round": 9932058,
                "global_state_count": 24
            },
            {
                "id": 80393163,
                "creator": "24YD4UNKUGVNGZ6QGXWIUPQ5L456FBH7LB5L6KFGQJ65YLQHXX4CQNPCZA",
                "deleted": false,
                "created_at_round": 10606243,
                "global_state_count": 15
            },
            {
                "id": 80441171,
                "creator": "24YD4UNKUGVNGZ6QGXWIUPQ5L456FBH7LB5L6KFGQJ65YLQHXX4CQNPCZA",
                "deleted": false,
                "created_at_round": 10608536,
                "global_state_count": 15
            },
            {
                "id": 80441567,
                "creator": "24YD4UNKUGVNGZ6QGXWIUPQ5L456FBH7LB5L6KFG
…(truncated, see openapi.json for full schema)
```

### App

#### `GET /v1/app` — One app: decoded global state + schema

**Parameters:**
- `app_id` (query, optional, string) — Application id (numeric); omit for a recent app Example: `60553466`

**Example:**
```bash
curl -H "x-oanor-key: $KEY" \
  "https://api.oanor.com/algorandapps-api/v1/app?app_id=60553466"
```

**Response:**
```json
{
    "data": {
        "id": 60553466,
        "note": "One Algorand application in full: its decoded global state (the contract's on-chain key-value variables, keys and byte-values decoded from base64), its global/local state schema (how many uint and byte-slice slots it reserves) and its creator. Omit app_id to use a recent application.",
        "source": "AlgoNode indexer",
        "creator": "WEXK776EPAM56PTNEOQZPO2U5JRZPT4WV5IKEBFBYPW4BGQ3SVUPFAQB4M",
        "deleted": false,
        "global_state": [
            {
                "key": "will",
                "type": "uint",
                "value": 77
            },
            {
                "key": "superman",
                "type": "uint",
                "value": 43
            },
            {
                "key": "batman",
                "type": "uint",
                "value": 33
            },
            {
                "key": "Creator",
                "type": "bytes",
                "value": "sS6v/8R4Gd8+bSOhl7tU6mOXz5avUKIEocPtwJoblWg="
            },
            {
                "key": "when",
                "type": "uint",
                "value": 57
            },
            {
                "key": "iron man",
                "type": "uint",
                "value": 112
            },
            {
                "key": "elp",
                "type": "uint",
                "value": 54
            },
            {
                "key": "kick",
                "type": "uint",
          
…(truncated, see openapi.json for full schema)
```

### Creator

#### `GET /v1/creator` — Every app created by an address

**Parameters:**
- `address` (query, optional, string) — Algorand address (58-char); omit for a recent creator Example: `WEXK776EPAM56PTNEOQZPO2U5JRZPT4WV5IKEBFBYPW4BGQ3SVUPFAQB4M`
- `limit` (query, optional, string) — Page size (1-100) Example: `25`

**Example:**
```bash
curl -H "x-oanor-key: $KEY" \
  "https://api.oanor.com/algorandapps-api/v1/creator?address=WEXK776EPAM56PTNEOQZPO2U5JRZPT4WV5IKEBFBYPW4BGQ3SVUPFAQB4M&limit=25"
```

**Response:**
```json
{
    "data": {
        "apps": [
            {
                "id": 60553466,
                "creator": "WEXK776EPAM56PTNEOQZPO2U5JRZPT4WV5IKEBFBYPW4BGQ3SVUPFAQB4M",
                "deleted": false,
                "created_at_round": 9927738,
                "global_state_count": 11
            },
            {
                "id": 60656593,
                "creator": "WEXK776EPAM56PTNEOQZPO2U5JRZPT4WV5IKEBFBYPW4BGQ3SVUPFAQB4M",
                "deleted": false,
                "created_at_round": 9930998,
                "global_state_count": 21
            },
            {
                "id": 60699511,
                "creator": "WEXK776EPAM56PTNEOQZPO2U5JRZPT4WV5IKEBFBYPW4BGQ3SVUPFAQB4M",
                "deleted": false,
                "created_at_round": 9932058,
                "global_state_count": 24
            }
        ],
        "note": "Every Algorand application (smart contract) deployed by one address, with each app's id, creation round and global-state size. Omit address to use a recent creator.",
        "count": 3,
        "source": "AlgoNode indexer",
        "creator": "WEXK776EPAM56PTNEOQZPO2U5JRZPT4WV5IKEBFBYPW4BGQ3SVUPFAQB4M"
    },
    "meta": {
        "timestamp": "2026-06-14T17:03:53.954Z",
        "request_id": "c3bebb26-138e-4bf3-bbf4-1fbb06316dd6"
    },
    "status": "ok",
    "message": "Creator applications retrieved successfully",
    "success": true
}
```

### Meta

#### `GET /v1/meta` — Service metadata

**Example:**
```bash
curl -H "x-oanor-key: $KEY" \
  "https://api.oanor.com/algorandapps-api/v1/meta"
```

**Response:**
```json
{
    "data": {
        "sample": {
            "recent_app": 60553466
        },
        "source": "public AlgoNode indexer (mainnet-idx.algonode.cloud), keyless",
        "service": "algorandapps-api",
        "endpoints": {
            "GET /v1/app": "One app's decoded global state and schema (app_id; omit for a recent one).",
            "GET /v1/apps": "Browse Algorand applications (limit).",
            "GET /v1/meta": "This document.",
            "GET /v1/creator": "Every app created by an address (address; omit for a recent creator)."
        },
        "description": "Browse Algorand applications (smart contracts) live from the public AlgoNode indexer: list deployed apps with creator and creation round, read one app's decoded global state and schema, and list every app created by an address. The smart-contract layer for Algorand explorers, dApp dashboards and analytics. Live, short cache only.",
        "upstream_status": "ok"
    },
    "meta": {
        "timestamp": "2026-06-14T17:03:54.084Z",
        "request_id": "b139c3a8-5905-40ff-b8b9-c33006453422"
    },
    "status": "ok",
    "message": "Meta",
    "success": true
}
```


---
Marketplace page: https://www.oanor.com/api/algorandapps-api
OpenAPI spec: https://www.oanor.com/api/algorandapps-api/openapi.json
