canonical: https://jentic.com/apis/jigsawstack.com/jigsawstack

# JigsawStack API

The JigsawStack API runs a set of small task-specific AI models behind one key: web search and scraping, text and image translation, speech transcription, text-to-speech, vision OCR, object detection, embeddings, and classification. It also turns a plain-English prompt into SQL against a schema you supply, scores text for sentiment, spam, and profanity, and screens images for NSFW content. A file store lets you upload a file once and reference it by its file_store_key in later calls, and the prompt engine saves reusable prompts you can run by id.

## For AI agents

Search and scrape the web, translate text and images, transcribe audio, generate speech, run OCR and object detection, and produce embeddings through one JigsawStack key. Includes text-to-SQL, sentiment, spam, and profanity checks plus a file store and saved prompts.

## Scope

Does not handle general chat completion, model fine-tuning, or database hosting. Use for task-specific AI operations such as search, scraping, translation, speech, and vision only.

## Capabilities

- Run a web search with an optional AI overview and scrape a page with prompts that name the elements you want extracted
- Translate text between languages and translate the text inside an image to a target_language
- Transcribe audio from a URL or stored file, with speaker separation and a webhook_url for long jobs
- Generate speech from text and clone, list, or delete custom voices by voice_id
- Extract text from images and documents with vision OCR and detect objects with prompt-driven object detection
- Turn a natural-language prompt into SQL against a supplied sql_schema and classify text or images against your own labels
- Score text for sentiment, spam, and profanity, and check spelling for a given language_code

## Use cases

### Agent Research and Extraction via Jentic

An AI agent that needs live web facts can call the JigsawStack web search operation for a query, then pass the most relevant URL to the AI scraper with element prompts describing the data it wants, such as prices or headlines. Through Jentic the agent discovers both operations by intent and calls them with your stored key, so a research task becomes two structured calls instead of hand-written scraping code.

Example prompt: Search the web for 'best open source vector databases 2026', then scrape the top result URL with element prompts for each database name and its license, and return a table

### Multilingual Content Translation

Teams localising user-generated content send text to the JigsawStack translate operation with a target_language and get back the translated text, with current_language optional when the source is unknown. Screenshots and product images go to the image translation operation, which translates the text inside the image, so one integration covers both written and visual content.

Example prompt: Translate a product description into French and German, then translate the text in the product's packaging image at a given URL into French

### Speech Transcription and Voice Output

Podcast and meeting tools send audio by URL or file_store_key to the transcribe operation, set by_speaker to separate speakers, and pass a webhook_url so long recordings report back when done. The same API turns text back into audio with text-to-speech and can clone a custom voice that is later listed or removed by voice_id.

Example prompt: Transcribe the meeting recording at a given URL with by_speaker enabled and a webhook_url for completion, then summarise what each speaker said

### Text-to-SQL for Internal Data Questions

An analyst assistant sends a plain-English question as the prompt along with a sql_schema describing the tables, and the JigsawStack SQL operation returns a query for a chosen database dialect. The assistant runs the query against its own database, so the model never needs direct database credentials.

Example prompt: Given a schema with orders and customers tables, generate a PostgreSQL query that returns the ten customers with the highest total order value last quarter

### Content Moderation Checks

Community platforms screen posts before publishing by calling the JigsawStack spam check, profanity, and sentiment operations on the text, with censor_replacement available to mask profane words, and the NSFW validation operation on attached images. Each check is a single call, so a moderation step can run on every submission.

Example prompt: Check a new forum post for spam and profanity, mask any profane words with '*', score its sentiment, and screen its attached image for NSFW content before approving it

## Key endpoints

| Method | Path | Description |
| --- | --- | --- |
| POST | `/web/search` | Search the web with an optional AI overview |
| POST | `/ai/scrape` | Scrape a page using element prompts |
| POST | `/ai/translate` | Translate text |
| POST | `/ai/transcribe` | Transcribe audio |
| POST | `/vocr` | Extract text with vision OCR |
| POST | `/ai/sql` | Generate SQL from a prompt |
| POST | `/embedding` | Generate embeddings |

## Key resources

- **Web search and scraping** — Search the web with an AI overview, get query suggestions, scrape pages with element prompts, and render HTML to images or PDF.
- **Language and speech** — Translate text and images, transcribe audio, generate speech, and manage cloned voices.
- **Vision** — Vision OCR and prompt-driven object detection on images and documents.
- **File store** — Upload a file once and reuse it across calls by its key.
- **Prompt engine** — Save, list, run, and delete reusable prompts by id.

## AI readiness

This API is usable in Jentic One now. Its AI-readiness score against Jentic's framework shows where it stands today and where improvements would make it even easier for agents to use.

- **Score:** 0 / 100
- **Maturity:** Non-Ready
- **Dimensions:**
  - Foundational Compliance: 74 / 100
  - Developer Experience & Jentic Compatibility: 70 / 100
  - AI-Readiness & Agent Experience: 49 / 100
  - Agent Usability: 94 / 100
  - Security: 50 / 100
  - AI Discoverability: 0 / 100
- **View full report:** https://jentic.com/apis/jigsawstack.com/jigsawstack/scorecard
- **How the score is calculated:** https://docs.jentic.com/reference/api-readiness-framework/overview/
- **More about the dimensions:** https://docs.jentic.com/reference/api-readiness-framework/specification/#dimensional-model-overview

### Score it yourself

Every API in the directory is allowlisted, so you can re-score it with no key required.

- **Score your own API:** https://jentic.com/scorecard.md
- **Scoring CLI agent skill:** https://github.com/jentic/jentic-api-scorecard/blob/main/skills/jentic-api-scorecard/SKILL.md

```sh
npx @jentic/api-scorecard-cli score <openapi-url>
```

## Why Jentic

- **Setup:** Wiring JigsawStack by hand means sending its `x-api-key` header on every call and learning a different request body for each of its search, scrape, speech, vision, and SQL operations. Through Jentic you install once, import JigsawStack from the API Directory, store the key once, and your agent calls it.
- **Permission scoping:** Most JigsawStack operations carry their target in the request body, so rules bound which operations your agent may call, such as web search and translation. A few resources sit in the URL path, like saved prompts at `/prompt_engine/{id}` and stored files at `/store/file/read/{key}`, so those can be narrowed to one prompt or file. You choose the operations it may call, so destructive ones like deleting a stored file or a cloned voice are not included unless you add them.
- **Credential handling:** Your JigsawStack API key is stored once, encrypted, by your own Jentic One instance and injected at execution time. It never enters the agent's prompt, logs, or context.
- **Discovery method:** Agents search Jentic by intent such as 'scrape a web page' or 'translate text', and Jentic returns the matching JigsawStack operation with its input schema so the agent calls the right endpoint without browsing the reference docs.

## Related APIs

- **Firecrawl** — Firecrawl focuses on crawling and scraping sites into clean markdown; JigsawStack bundles scraping with search, translation, speech, and vision.
- **Tavily** — Tavily is a search API built for agents; JigsawStack adds search alongside scraping and other AI models.
- **Deepgram** — Deepgram specialises in speech recognition; JigsawStack offers transcription as one of many model operations.
- **OpenAI** — OpenAI provides general language models; JigsawStack provides task-specific operations such as scraping and moderation checks.

## FAQ

### What authentication does the JigsawStack API use?

The JigsawStack API authenticates with an API key sent in the `x-api-key` header, per its OpenAPI spec, which applies the key across its operations. Through Jentic the key is stored encrypted by your own Jentic One instance and injected at call time, so it never appears in your agent's prompt or logs.

### Is there a JigsawStack MCP server?

You don't need an MCP server to give your agent JigsawStack. Jentic connects it directly from the API Directory: import it, store your key once, and your agent calls search, scrape, translate, and the other operations as it needs them. Operations are discovered on demand, so no extra server's tool definitions sit in your agent's context.

### Can I limit what my agent is allowed to do with the JigsawStack API?

Yes. For example, write a rule that allows only the web search, AI scrape, and translate operations, so a research agent can look things up, extract page content, and translate it but cannot delete stored files or cloned voices. Where an id is in the path, such as `/prompt_engine/{id}`, you can narrow a rule to a single saved prompt, and every call the agent makes is logged.

### Can I scrape a website with a prompt instead of CSS selectors using the JigsawStack API?

Yes. The AI scrape operation accepts a url and element_prompts describing what to extract, and also accepts selectors, cookies, http_headers, and wait_for options when a page needs them. You can pass raw html instead of a URL when you already have the page content.

### What are the rate limits for the JigsawStack API?

The JigsawStack OpenAPI spec does not specify rate limits. Check the JigsawStack documentation at https://jigsawstack.com for the current limits on your plan.

### How do I transcribe audio with the JigsawStack API through Jentic?

Search Jentic for an intent like 'transcribe an audio file', import JigsawStack from the API Directory, and store your API key once. Your agent then calls the transcribe operation (POST `/ai/transcribe`) with a url or file_store_key, optionally setting by_speaker and a webhook_url for long recordings. To run it on your own infrastructure, install Jentic One from its GitHub repo.
