Skip to main content
Jina AI logo

Overview

Add Jina AI to any ModuleX agent or workflow. AI-powered search foundation tools against Jina AI’s REST surfaces: embeddings, rerank, web reader, web search, deep search, text segmentation, and zero-shot classification. Each capability lives on a different subdomain — the tool code routes to the correct one per action.
Categories: Web Search & Scraping · Ai · Embeddings · Nlp · Research · Auth: API Key, ModuleX Managed Key · Actions: 7

Authentication

API Key Authentication

Authenticate using your Jina AI API key. Get your free API key at https://jina.ai/?sui=apikey

Required Credentials

FieldDescriptionRequiredFormat
Jina AI API KeyYour Jina AI API key for authentication. Get your free key at https://jina.ai/?sui=apikeyYesjina_xxxxxxxxxxxxxxxxxxxxxxxxxxxx

Available Actions

Parameters

input
array
required
Array of input strings or objects with ‘text’, ‘image’, or ‘pdf’ keys
model
string
Embedding model to use (Default: jina-embeddings-v3)
task
string
Task optimization type
dimensions
integer
Truncate embeddings to specified size
late_chunking
boolean
Enable late chunking mode (Default: false)
truncate
boolean
Auto-truncate content beyond max length (Default: false)

Response

{
  "additionalProperties": false,
  "properties": {
    "success": {
      "title": "Success",
      "type": "boolean"
    },
    "error": {
      "anyOf": [
        {
          "type": "string"
        },
        {
          "type": "null"
        }
      ],
      "default": null,
      "title": "Error"
    },
    "data": {
      "anyOf": [
        {
          "additionalProperties": true,
          "type": "object"
        },
        {
          "type": "null"
        }
      ],
      "default": null,
      "title": "Data"
    }
  },
  "required": [
    "success"
  ],
  "title": "GenerateEmbeddingsOutput",
  "type": "object"
}

Parameters

query
string
required
Search query to rank documents against
documents
array
required
Documents to rerank (strings or objects)
model
string
Reranker model to use (Default: jina-reranker-v2-base-multilingual)
top_n
integer
Number of top results to return
return_documents
boolean
Include document text in response (Default: true)

Response

{
  "additionalProperties": false,
  "properties": {
    "success": {
      "title": "Success",
      "type": "boolean"
    },
    "error": {
      "anyOf": [
        {
          "type": "string"
        },
        {
          "type": "null"
        }
      ],
      "default": null,
      "title": "Error"
    },
    "data": {
      "anyOf": [
        {
          "additionalProperties": true,
          "type": "object"
        },
        {
          "type": "null"
        }
      ],
      "default": null,
      "title": "Data"
    }
  },
  "required": [
    "success"
  ],
  "title": "RerankDocumentsOutput",
  "type": "object"
}

Parameters

url
string
required
The URL to read and parse
return_format
string
Output format (Default: markdown)
target_selector
string
CSS selectors to focus on specific elements
remove_selector
string
CSS selectors to exclude from page
wait_for_selector
string
CSS selectors to wait for before returning
Gather all links at the end of response (Default: false)
with_images_summary
boolean
Gather all images at the end of response (Default: false)
timeout
integer
Maximum time in seconds to wait for webpage to load
no_cache
boolean
Bypass cache for fresh retrieval (Default: false)

Response

{
  "additionalProperties": false,
  "properties": {
    "success": {
      "title": "Success",
      "type": "boolean"
    },
    "error": {
      "anyOf": [
        {
          "type": "string"
        },
        {
          "type": "null"
        }
      ],
      "default": null,
      "title": "Error"
    },
    "data": {
      "anyOf": [
        {
          "additionalProperties": true,
          "type": "object"
        },
        {
          "type": "null"
        }
      ],
      "default": null,
      "title": "Data"
    },
    "title": {
      "anyOf": [
        {
          "type": "string"
        },
        {
          "type": "null"
        }
      ],
      "default": null,
      "title": "Title"
    },
    "description": {
      "anyOf": [
        {
          "type": "string"
        },
        {
          "type": "null"
        }
      ],
      "default": null,
      "title": "Description"
    },
    "url": {
      "anyOf": [
        {
          "type": "string"
        },
        {
          "type": "null"
        }
      ],
      "default": null,
      "title": "Url"
    },
    "content": {
      "anyOf": [
        {
          "type": "string"
        },
        {
          "type": "null"
        }
      ],
      "default": null,
      "title": "Content"
    },
    "links": {
      "anyOf": [
        {
          "additionalProperties": true,
          "type": "object"
        },
        {
          "type": "null"
        }
      ],
      "default": null,
      "title": "Links"
    },
    "images": {
      "anyOf": [
        {
          "additionalProperties": true,
          "type": "object"
        },
        {
          "type": "null"
        }
      ],
      "default": null,
      "title": "Images"
    },
    "usage": {
      "anyOf": [
        {
          "additionalProperties": true,
          "type": "object"
        },
        {
          "type": "null"
        }
      ],
      "default": null,
      "title": "Usage"
    }
  },
  "required": [
    "success"
  ],
  "title": "ReadWebpageOutput",
  "type": "object"
}

Parameters

query
string
required
Research query or question to investigate
reasoning_effort
string
Reasoning effort level (low, medium, high) (Default: medium)
budget_tokens
integer
Maximum tokens for the process (overrides reasoning_effort)
max_attempts
integer
Maximum retries for problem solving
no_direct_answer
boolean
Force deeper search even for simple queries (Default: false)
max_returned_urls
integer
Maximum URLs in final answer
boost_hostnames
array
Domains to prioritize for content retrieval
bad_hostnames
array
Domains to exclude from content retrieval
only_hostnames
array
Only retrieve content from these domains

Response

{
  "additionalProperties": false,
  "properties": {
    "success": {
      "title": "Success",
      "type": "boolean"
    },
    "error": {
      "anyOf": [
        {
          "type": "string"
        },
        {
          "type": "null"
        }
      ],
      "default": null,
      "title": "Error"
    },
    "data": {
      "anyOf": [
        {
          "additionalProperties": true,
          "type": "object"
        },
        {
          "type": "null"
        }
      ],
      "default": null,
      "title": "Data"
    }
  },
  "required": [
    "success"
  ],
  "title": "DeepSearchOutput",
  "type": "object"
}

Parameters

content
string
required
Text content to segment
tokenizer
string
Tokenizer to use (Default: cl100k_base)
return_tokens
boolean
Include tokens and IDs in response (Default: false)
return_chunks
boolean
Segment into semantic chunks (Default: true)
max_chunk_length
integer
Maximum characters per chunk (Default: 1000)
head
integer
Return only first N tokens (exclusive with tail)
tail
integer
Return only last N tokens (exclusive with head)

Response

{
  "additionalProperties": false,
  "properties": {
    "success": {
      "title": "Success",
      "type": "boolean"
    },
    "error": {
      "anyOf": [
        {
          "type": "string"
        },
        {
          "type": "null"
        }
      ],
      "default": null,
      "title": "Error"
    },
    "data": {
      "anyOf": [
        {
          "additionalProperties": true,
          "type": "object"
        },
        {
          "type": "null"
        }
      ],
      "default": null,
      "title": "Data"
    },
    "num_tokens": {
      "anyOf": [
        {
          "type": "integer"
        },
        {
          "type": "null"
        }
      ],
      "default": null,
      "title": "Num Tokens"
    },
    "num_chunks": {
      "anyOf": [
        {
          "type": "integer"
        },
        {
          "type": "null"
        }
      ],
      "default": null,
      "title": "Num Chunks"
    },
    "chunks": {
      "anyOf": [
        {
          "items": {
            "type": "string"
          },
          "type": "array"
        },
        {
          "type": "null"
        }
      ],
      "default": null,
      "title": "Chunks"
    },
    "chunk_positions": {
      "anyOf": [
        {
          "items": {
            "items": {
              "type": "integer"
            },
            "type": "array"
          },
          "type": "array"
        },
        {
          "type": "null"
        }
      ],
      "default": null,
      "title": "Chunk Positions"
    },
    "tokens": {
      "anyOf": [
        {
          "items": {},
          "type": "array"
        },
        {
          "type": "null"
        }
      ],
      "default": null,
      "title": "Tokens"
    },
    "tokenizer": {
      "anyOf": [
        {
          "type": "string"
        },
        {
          "type": "null"
        }
      ],
      "default": null,
      "title": "Tokenizer"
    },
    "usage": {
      "anyOf": [
        {
          "additionalProperties": true,
          "type": "object"
        },
        {
          "type": "null"
        }
      ],
      "default": null,
      "title": "Usage"
    }
  },
  "required": [
    "success"
  ],
  "title": "SegmentTextOutput",
  "type": "object"
}

Parameters

input
array
required
Array of texts or image objects to classify
labels
array
required
List of classification categories
model
string
Classification model (Default: jina-embeddings-v3)
classifier_id
string
Existing classifier ID to reuse

Response

{
  "additionalProperties": false,
  "properties": {
    "success": {
      "title": "Success",
      "type": "boolean"
    },
    "error": {
      "anyOf": [
        {
          "type": "string"
        },
        {
          "type": "null"
        }
      ],
      "default": null,
      "title": "Error"
    },
    "data": {
      "anyOf": [
        {
          "additionalProperties": true,
          "type": "object"
        },
        {
          "type": "null"
        }
      ],
      "default": null,
      "title": "Data"
    },
    "classifications": {
      "items": {
        "additionalProperties": true,
        "type": "object"
      },
      "title": "Classifications",
      "type": "array"
    },
    "usage": {
      "anyOf": [
        {
          "additionalProperties": true,
          "type": "object"
        },
        {
          "type": "null"
        }
      ],
      "default": null,
      "title": "Usage"
    }
  },
  "required": [
    "success"
  ],
  "title": "ClassifyOutput",
  "type": "object"
}

Limits & Quotas

  • Per-endpoint subdomains: api.jina.ai/v1/embeddings, api.jina.ai/v1/rerank, r.jina.ai/, s.jina.ai/, deepsearch.jina.ai/v1/chat/completions, segment.jina.ai/, api.jina.ai/v1/classify.
  • Reader and Search expect their configuration via X-* request headers (return format, target selectors, cache bypass, etc.) — preserved verbatim from the legacy implementation.
  • Deep search timeout is 300s (the API genuinely takes that long for high-effort queries); reader/search use 120s; everything else uses 60s.
  • Standard plan rate limits (from the legacy JSON’s rate_limits block): embeddings/rerank 500 RPM, reader 200 RPM, search 40 RPM, classify 20 RPM, segment 200 RPM. Premium is 4-10× higher.

Tavily Search

Ahrefs

Airweave