# GNQL search

Search internet scanner activity with a GreyNoise Query Language (GNQL) expression.

|  |  |
| --- | --- |
| Tool id | `greynoise.gnql` |
| Platform | [Threat intelligence](https://www.orcarouter.ai/tools/threat-intel.md) |
| Capability | [Ip gnql](https://www.orcarouter.ai/tools/threat-intel/ip-gnql.md) |
| Price | $0.02 per call |
| Health | OK |
| p50 latency | — |
| Success (7 days) | — |
| Runs (30 days) | — |
| Idempotent | yes |
| Data class | unclassified |

## Input

| Field | Type | Required | Description |
| --- | --- | --- | --- |
| `query` | string | yes | The GNQL query expression to run. |
| `scroll` | string | no | Pagination token from a previous response. |
| `size` | integer | no | Maximum number of results to return. |

## Call it

```bash
curl -sS https://api.orcarouter.ai/v1/tools/greynoise.gnql/run \
  -H "Authorization: Bearer $ORCAROUTER_API_KEY" \
  -H "Content-Type: application/json" \
  -d '{"input":{"query":"<query>"}}'
```

```python
import os, requests

resp = requests.post(
    "https://api.orcarouter.ai/v1/tools/greynoise.gnql/run",
    headers={"Authorization": f"Bearer {os.environ['ORCAROUTER_API_KEY']}"},
    json={"input":{"query":"<query>"}},
)
print(resp.json())
```

## FAQ

### How much does GNQL search cost?

GNQL search costs $0.02 per call: 1,000 calls cost $20.00.

### What does a $10 budget buy with GNQL search?

About 500 calls at $0.02 per call.

### What inputs does GNQL search need?

Required inputs: query.

### How do I call GNQL search?

Send POST /v1/tools/{id}/run with your OrcaRouter API key and a JSON body {"input": {…}}, where {id} is the tool id POST /v1/tools/discover returns for it.

---

Markdown version of https://www.orcarouter.ai/tools/threat-intel/ip-gnql/gnql
