JQ API Documentation

Complete API reference for the JQ JSON processing service

Quick Navigation

Base URL

https://thejqapi.com

Authentication

Simple UUID-Based Authentication

No account registration required! Simply use any UUID as your API key.

  • • Generate any UUID (or use the auto-generated one on the main page)
  • • Include it in the Authorization header
  • • Each unique UUID gets 1,000 requests per day
  • • No account creation or verification needed

How to Use

Include your UUID in the Authorization header:

Authorization: Bearer 550e8400-e29b-41d4-a716-446655440000

Rate Limiting

With UUID Authentication

1,000 requests/day

Per unique UUID

Without Authentication

100 requests/day

For anonymous usage

Important Notes:

  • • Each unique UUID is tracked separately for rate limiting
  • • Rate limits reset daily at midnight UTC
  • • You can use multiple UUIDs for higher limits
  • • No verification or registration required

Need More Requests?

If you need more than 1,000 requests per day for your UUID, please contact us at contact@thejqapi.com

API Endpoints

POST /process

Process JSON data using jq filter expressions.

Request Body:

{
  "input": "JSON data to process",
  "filter": "jq filter expression",
  "options": {
    "slurp": "Read entire input as array (optional)"
  }
}

Response:

{
  "success": true,
  "result": "processed data",
  "rawResult": "stringified result",
  "executionTime": 15
}

Parameters:

input

JSON data to process

Any valid JSON value (object, array, string, number, boolean)

filter

jq filter expression

Valid jq filter syntax (required)

options.slurp

Slurp option

Read entire input as array (optional, boolean)

Examples

Extract Field from Object

Request:

curl -X POST https://thejqapi.com/process \
  -H "Content-Type: application/json" \
  -d '{
    "input": {"name": "John", "age": 30},
    "filter": ".name"
  }'

Response:

{
  "success": true,
  "result": "John",
  "rawResult": "\"John\"",
  "executionTime": 5
}

Filter Array

Request:

curl -X POST https://thejqapi.com/process \
  -H "Content-Type: application/json" \
  -d '{
    "input": [1, 2, 3, 4, 5],
    "filter": ".[] | select(. > 2)"
  }'

Response:

{
  "success": true,
  "result": [3, 4, 5],
  "rawResult": "[3,4,5]",
  "executionTime": 8
}

Transform Object

Request:

curl -X POST https://thejqapi.com/process \
  -H "Content-Type: application/json" \
  -d '{
    "input": {"firstName": "John", "lastName": "Doe"},
    "filter": "{ fullName: (.firstName + \" \" + .lastName) }"
  }'

Response:

{
  "success": true,
  "result": {"fullName": "John Doe"},
  "rawResult": "{\"fullName\":\"John Doe\"}",
  "executionTime": 12
}

Error Codes

400

Bad Request

Invalid request format, missing required fields, or invalid jq filter syntax

401

Unauthorized

Missing Authorization header when authentication is required

403

Forbidden

Invalid authorization token

404

Not Found

Endpoint not found

429

Too Many Requests

Rate limit exceeded. You have reached your daily request limit

📖 jq Documentation

For comprehensive jq filter syntax and functions, visit the official documentation.

View jq Manual

Need higher rate limits? If you need more than 1,000 requests per day for your UUID, please contact us at contact@thejqapi.com