Filters, transforms, sorts and dedupes up to 500 JSON rows in one call
Filters, transforms, sorts and dedupes up to 500 JSON rows in one call: conditions (equals, contains, greater than, regex, empty), field renames, trims, case changes, number and date parsing, computed fields, sort, distinct by field, offset and limit. Returns the kept rows plus counts of rows dropped and why. $0.001 per row sent, $0.002 minimum. Same engine as the Apify actor nerolabs/dataset-filter-transform.
Answeringour last check, 2026-10-21
1 of 1checks answered this week
38 msmedian answer time
$0.003listed price per call
$0.003price it asked us
Paid test badge: not yet. The checks above are free: we call the tool without paying and read the payment request it sends back. The Verified badge needs paid calls whose answers match the promised output, and nobody can buy a badge.
Endpoint
POST https://x402-agent-tools.nerolabs.workers.dev/data/filter
| Category | Code and developer |
|---|---|
| Provider host | x402-agent-tools.nerolabs.workers.dev |
| Networks | eip155:8453 |
| Payment schemes | exact |
| Self-reported calls, 30 days | 0 from 0 payers (the provider's figure, not ours) |
Our checks, last 30 days
| Day | Result | HTTP | Asked | Time |
|---|---|---|---|---|
| 2026-10-21 | valid payment request | 402 | $0.003 | 38 ms |
Example input (from the provider)
{
"body": {
"filters": [
{
"field": "city",
"operator": "equals",
"value": "Bristol"
}
],
"rows": [
{
"city": "Bristol",
"name": "Acme Ltd",
"revenue": "120000"
},
{
"city": "Leeds",
"name": "Bolt Co",
"revenue": "45000"
},
{
"city": "Bristol",
"name": "Crane plc",
"revenue": "980000"
}
],
"sortBy": [
{
"direction": "asc",
"field": "name"
}
]
},
"bodyType": "json",
"method": "POST",
"type": "http"
}
Promised output schema (from the provider)
{
"$schema": "https://json-schema.org/draft/2020-12/schema",
"properties": {
"input": {
"additionalProperties": false,
"properties": {
"body": {
"additionalProperties": false,
"properties": {
"caseSensitiveFilters": {
"description": "Text comparisons are case-insensitive by default. Set true to make them exact.",
"type": "boolean"
},
"distinctBy": {
"description": "Keep only the first row for each combination of these fields. Applied after sorting, so sorting first lets you keep the newest row per key.",
"items": {
"type": "string"
},
"type": "array"
},
"filterCombineMode": {
"description": "Whether a row must match every filter (AND, the default) or any one of them (OR).",
"enum": [
"AND",
"OR"
],
"type": "string"
},
"filters": {
"description": "Conditions a row must satisfy to be kept, for example {\"field\":\"country\",\"operator\":\"equals\",\"value\":\"UK\"} or {\"field\":\"price\",\"operator\":\"greaterThan\",\"value\":100}. Dot paths like \"address.city\" work. Call list_capabilities for all 25 operators.",
"items": {
"type": "object"
},
"type": "array"
},
"lenientNumbers": {
"description": "On by default: values like \"$1,234.50\", \"49 USD\" and \"12%\" are read as numbers. Set false to require real numeric values.",
"type": "boolean"
},
"limit": {
"description": "Return at most this many rows.",
"type": "integer"
},
"offset": {
"description": "Skip this many rows after filtering and sorting.",
"type": "integer"
},
"rows": {
"description": "The rows to process. Each row is a JSON object. Keys may differ between rows.",
"items": {
"type": "object"
},
"type": "array"
},
"sortBy": {
"description": "Sort the kept rows, for example [{\"field\":\"price\",\"direction\":\"desc\"}].",
"items": {
"type": "object"
},
"type": "array"
},
"transforms": {
"description": "Transform steps applied to every row, in order. Each step is an object with an \"op\" key, for example {\"op\":\"cast\",\"field\":\"price\",\"to\":\"number\"} or {\"op\":\"compute\",\"field\":\"total\",\"expression\":\"price * qty\"} or {\"op\":\"rename\",\"from\":\"e_mail\",\"to\":\"email\"}. Call list_capabilities for all 26 operations.",
"items": {
"type": "object"
},
"type": "array"
}
},
"required": [
"rows"
],
"type": "object"
},
"bodyType": {
"enum": [
"json",
"form-data",
"text"
],
"type": "string"
},
"method": {
"enum": [
"POST"
],
"type": "string"
},
"type": {
"const": "http",
"type": "string"
}
},
"required": [
"type",
"method",
"bodyType",
"body"
],
"type": "object"
},
"output": {
"properties": {
"example": {
"type": "object"
},
"type": {
"type": "string"
}
},
"required": [
"type"
],
"type": "object"
}
},
"required": [
"input"
],
"type": "object"
}