Skip to main content

Test a Filter – Streams REST API

Updated on
Jul 20, 2026

Overview

Tests your filter function with data from a specific block before deploying it to a stream. This allows you to validate your filter logic and see the transformed output without affecting any live streams.

Key use cases:

  • Validate filter function syntax and logic
  • Preview transformed data output
  • Debug filter functions before deployment
  • Test filters against historical block data

Endpoint

Send a POST request to test a filter function.

POST https://api.quicknode.com/streams/rest/v1/streams/test_filter

Request Parameters

ParameterTypeRequiredDescription
networkstringYesBlockchain network (see Supported Chains)
datasetstringYesDataset type (see Data Sources)
filter_functionstringYesBase64-encoded JavaScript filter function
blockstringYesBlock number to test against

Example Request

curl -X POST "https://api.quicknode.com/streams/rest/v1/streams/test_filter" \
-H "accept: application/json" \
-H "Content-Type: application/json" \
-H "x-api-key: YOUR_API_KEY" \
-d '{
"network": "ethereum-mainnet",
"dataset": "block",
"filter_function": "ZnVuY3Rpb24gbWFpbihkYXRhKSB7CiAgcmV0dXJuIHsKICAgIGhhc2g6IGRhdGEuc3RyZWFtRGF0YS5oYXNoLAogICAgbnVtYmVyOiBwYXJzZUludChkYXRhLnN0cmVhbURhdGEubnVtYmVyLCAxNikKICB9Owp9",
"block": "18000000"
}'

Response

On success, the API returns the result of applying your filter function to the specified block's data.

{
"logs": [],
"result": "{...}"
}

Response Fields

FieldTypeDescription
logsarrayAny console logs output by your filter function
resultstringThe result of the filter test
tip

If your filter function has errors, the response will contain error details to help you debug the issue.

Share this doc