> For the complete documentation index, see [llms.txt](https://carpool.gitbook.io/carpool/llms.txt). Markdown versions of documentation pages are available by appending `.md` to page URLs; this page is available as [Markdown](https://carpool.gitbook.io/carpool/api-reference/instructions/search_instructions.md).

# SEARCH\_INSTRUCTIONS

## Overview

*This method allows you to search through program instructions with a robust filter object. There are many types of filters you can apply and you can find information regarding those in the* [*Filters*](/carpool/api-reference/filters.md) *section of the docs. The endpoint example here shows off one of the many filters.*

{% openapi src="/files/KN7P2TZ6j0dGZqmR89z7" path="/query/solana" method="post" %}
[Carpool\_dev-SEARCH\_INSTRUCTIONS-0.1-resolved.json](https://2513171703-files.gitbook.io/~/files/v0/b/gitbook-x-prod.appspot.com/o/spaces%2FE1gzfwcjB542lI2VR9XI%2Fuploads%2FQ7mgPz8N9UGr91RimDv5%2FCarpool_dev-SEARCH_INSTRUCTIONS-0.1-resolved.json?alt=media\&token=0e2cf756-e9d2-4988-a6db-1c38aab11093)
{% endopenapi %}

## Filters

As mentioned above, the api definition here illustrates one of Carpool's many filter types. All queries that accept a filter object in the POST body can make use of **any** of the potential filters. Please see the Instruction Filters section of the documentation to better understand how they are implemented for instruction queries.

{% content-ref url="/pages/uYgjTokygYFjAlLVuwUH" %}
[Instruction Filters](/carpool/api-reference/filters/instruction-filters.md)
{% endcontent-ref %}

## Example - Basic

**Program** - *Cypher Protocol*

**Description** *- Get all instructions associated with the authority account at pubkey 8mpT...Mguz*

#### Javascript

```javascript
mvar myHeaders = new Headers();
myHeaders.append("x-api-key", "<API_KEY>");
myHeaders.append("Content-Type", "application/json");

var raw = JSON.stringify({
  "type": "SEARCH_INSTRUCTIONS",
  "query": {
    "programId": "CYPH3o83JX6jY6NkbproSpdmQ5VWJtxjfJ5P8veyYVu3",
    "filter": {
      "type": "INSTRUCTION_ACCOUNT",
      "accountPubKey": "8mpTNU6vpLSD9mWx4BQt2S6sz2yP39ZhQ9TuMXY4MgUz",
      "accountName": "authority"
    }
  }
});

var requestOptions = {
  method: 'POST',
  headers: myHeaders,
  body: raw,
  redirect: 'follow'
};

fetch("https://mainnet.carpool.dev/query/solana", requestOptions)
  .then(response => response.text())
  .then(result => console.log(result))
  .catch(error => console.log('error', error));
```

#### cURL

```
curl --location 'https://mainnet.carpool.dev/query/solana' \
--header 'x-api-key: <API_KEY>' \
--header 'Content-Type: application/json' \
--data '{
    "type": "SEARCH_INSTRUCTIONS",
    "query": {
        "programId": "CYPH3o83JX6jY6NkbproSpdmQ5VWJtxjfJ5P8veyYVu3",
        "filter": {
            "type": "INSTRUCTION_ACCOUNT",
            "accountPubKey": "8mpTNU6vpLSD9mWx4BQt2S6sz2yP39ZhQ9TuMXY4MgUz",
            "accountName": "authority"
        }
    }
}'
```

## Example - Advanced

**Program** - *Cypher Protocol*

**Description** *- Get all instructions associated with the authority account at pubkey 8mpT...Mguz. Search in a specific time range and return up to 20 objects.*

#### Javascript

```javascript
var myHeaders = new Headers();
myHeaders.append("x-api-key", "<API_KEY>");
myHeaders.append("Content-Type", "application/json");

var raw = JSON.stringify({
  "type": "SEARCH_INSTRUCTIONS",
  "query": {
    "programId": "CYPH3o83JX6jY6NkbproSpdmQ5VWJtxjfJ5P8veyYVu3",
    "filter": {
      "type": "INSTRUCTION_ACCOUNT",
      "accountPubKey": "8mpTNU6vpLSD9mWx4BQt2S6sz2yP39ZhQ9TuMXY4MgUz",
      "accountName": "authority"
    },
    "timeRange": {
      "before": "2023-07-17T22:53:09+0000",
      "after": "2023-07-11T22:53:09+0000"
    },
    "failures": false,
    "fields": [],
    "sort": {
      "order": "asc"
    },
    "pagination": {
      "limit": 20,
      "offset": 0
    }
  }
});

var requestOptions = {
  method: 'POST',
  headers: myHeaders,
  body: raw,
  redirect: 'follow'
};

fetch("https://mainnet.carpool.dev/query/solana", requestOptions)
  .then(response => response.text())
  .then(result => console.log(result))
  .catch(error => console.log('error', error));
```

#### cURL

```
curl --location 'https://mainnet.carpool.dev/query/solana' \
--header 'x-api-key: <API_KEY>' \
--header 'Content-Type: application/json' \
--data '{
    "type": "SEARCH_INSTRUCTIONS",
    "query": {
        "programId": "CYPH3o83JX6jY6NkbproSpdmQ5VWJtxjfJ5P8veyYVu3",
        "filter": {
            "type": "INSTRUCTION_ACCOUNT",
            "accountPubKey": "8mpTNU6vpLSD9mWx4BQt2S6sz2yP39ZhQ9TuMXY4MgUz",
            "accountName": "authority"
        },
        "timeRange": {
            "before": "2023-07-17T22:53:09+0000",
            "after": "2023-07-11T22:53:09+0000"
        },
        "failures": false,
        "fields": [],
        "sort": {
            "order": "asc"
        },
        "pagination": {
            "limit": 20,
            "offset": 0
        }
    }
}'
```
