16trust / 100

Csv Sql

by Vextorium in Developer tools

x402 APIFailing, checked 2 h ago

Run a read-only SQL query (SELECT/WITH, WHERE, GROUP BY, ORDER BY, window functions...) over a CSV loaded as table «datos» in a temporary in-memory SQLite database, and get the rows as JSON.

POST https://api.vextorium.com/v1/csv-sql

Last 30 days

All checks passedSome failedAll failedNot checked
Uptime
0.0%
Response time
- typical, - slowest 5%
Last check
2 h ago: Amount "0.004" is not in atomic token units
Next check
any minute now

How to call it

# See the payment challenge (nothing is charged)
curl -i -X POST "https://api.vextorium.com/v1/csv-sql" \
  -H "content-type: application/json" \
  -d '{"content":"city,sales\nMadrid,100\nBarcelona,80\nMadrid,120","query":"SELECT city, SUM(sales) AS total FROM datos GROUP BY city ORDER BY total DESC"}'
import { wrapFetchWithPayment } from "@x402/fetch";
import { x402Client } from "@x402/core/client";
import { ExactEvmScheme } from "@x402/evm/exact/client";
import { privateKeyToAccount } from "viem/accounts";

const client = new x402Client().register(
  "eip155:8453",
  new ExactEvmScheme(privateKeyToAccount(process.env.AGENT_KEY)),
);
const pay = wrapFetchWithPayment(fetch, client);

// Not sure it's safe to pay? Preflight it first for $0.005:
// GET https://toolvet.app/api/v1/check?url=https%3A%2F%2Fapi.vextorium.com%2Fv1%2Fcsv-sql
const res = await pay("https://api.vextorium.com/v1/csv-sql", {
  method: "POST",
  headers: { "content-type": "application/json" },
  body: JSON.stringify({"content":"city,sales\nMadrid,100\nBarcelona,80\nMadrid,120","query":"SELECT city, SUM(sales) AS total FROM datos GROUP BY city ORDER BY total DESC"}),
});
console.log(await res.json());

Example input

{
  "content": "city,sales\nMadrid,100\nBarcelona,80\nMadrid,120",
  "query": "SELECT city, SUM(sales) AS total FROM datos GROUP BY city ORDER BY total DESC"
}

Example output

{
  "columns": [
    "city",
    "total"
  ],
  "returned_rows": 2,
  "rows": [
    {
      "city": "Madrid",
      "total": 220
    },
    {
      "city": "Barcelona",
      "total": 80
    }
  ],
  "table": "datos",
  "table_columns": [
    "city",
    "sales"
  ],
  "table_rows": 3
}

Security scan

  • No findings. We scan names, descriptions and tool definitions for hidden instructions and other prompt-injection patterns.

Recent checks

WhenResultHTTPTimePrice
2 h agoAmount "0.004" is not in atomic token units40276 ms$0.004
7 h agoAmount "0.004" is not in atomic token units40289 ms$0.004
11 h agoAmount "0.004" is not in atomic token units402106 ms$0.004
15 h agoAmount "0.004" is not in atomic token units40294 ms$0.004
19 h agoAmount "0.004" is not in atomic token units40286 ms$0.004
23 h agoAmount "0.004" is not in atomic token units40278 ms$0.004
27 h agoAmount "0.004" is not in atomic token units40278 ms$0.004
31 h agoAmount "0.004" is not in atomic token units40289 ms$0.004
35 h agoAmount "0.004" is not in atomic token units40279 ms$0.004
40 h agoAmount "0.004" is not in atomic token units40280 ms$0.004
43 h agoAmount "0.004" is not in atomic token units402115 ms$0.004
2 days agoAmount "0.004" is not in atomic token units40273 ms$0.004
2 days agoAmount "0.004" is not in atomic token units40279 ms$0.004
2 days agoAmount "0.004" is not in atomic token units40279 ms$0.004
3 days agoAmount "0.004" is not in atomic token units402216 ms$0.004