{
  "slug": "csv-query",
  "name": "gizza-ai/csv-query",
  "version": "0.1.0",
  "title": "CSV Query — SQL-style SELECT/WHERE over CSV — gizza.ai",
  "description": "Query a CSV with SQL-style SELECT, WHERE, ORDER BY, and LIMIT — right in your browser. Free, private, no upload.",
  "tags": [
    "csv query",
    "sql csv",
    "query csv",
    "select where csv",
    "filter sort csv"
  ],
  "category": "data",
  "urls": {
    "page": "https://gizza.ai/tools/csv-query/",
    "markdown": "https://gizza.ai/tools/csv-query/index.md",
    "descriptor": "https://gizza.ai/tools/csv-query/tool.json",
    "deep_link_example": "https://gizza.ai/tools/csv-query/?data=name%2Cage%2Ccity%0AAlice%2C30%2CNYC%0ABob%2C25%2CLA&q=SELECT%20name%2C%20age%20WHERE%20age%20%3E%3D%2030%20ORDER%20BY%20age%20DESC%20LIMIT%205&delimiter=%2C"
  },
  "cli": "gizza tool csv-query \"name,age,city\nAlice,30,NYC\nBob,25,LA\"",
  "tool": {
    "description": "Query a CSV with a small SQL-ish language: SELECT <columns or *> [WHERE <col op value>] [ORDER BY <col> [ASC|DESC]] [LIMIT n]. Columns are header names or 1-based indices; WHERE op is one of == != < <= > >= contains (numeric compare when both sides are numbers, else string). Returns the projected/filtered/sorted CSV. For aggregation use csv-group-by or csv-pivot.",
    "parameters": {
      "additionalProperties": false,
      "properties": {
        "data": {
          "description": "The CSV text (first row must be a header).",
          "type": "string"
        },
        "delimiter": {
          "default": ",",
          "description": "Field separator: a single char or 'comma'/'tab'/'semicolon'/'pipe'. Default ','.",
          "type": "string"
        },
        "query": {
          "description": "A SQL-ish query: SELECT <cols|*> [WHERE <col op value>] [ORDER BY <col> [ASC|DESC]] [LIMIT n]. Columns are header names or 1-based indices; op is == != < <= > >= contains. (Aggregates/GROUP BY are out of scope — use csv-group-by / csv-pivot.)",
          "type": "string"
        }
      },
      "required": [
        "data",
        "query"
      ],
      "type": "object"
    }
  }
}