Pollinations Text API
Free text generation API with no key: put a prompt in the URL path and get generated plain text straight back. No JSON envelope, no account. Tested example included.
Endpoint tested and returned HTTP 200 on 2026-08-21
What is the Pollinations Text API?
Pollinations generates text from a prompt placed directly in the URL path, with no API key and no account. The response is the generated text as plain text, with no JSON wrapper of any kind.
Calling a language model normally means an account, a key, a POST body and a nested JSON response to unwrap. Pollinations collapses all of that into a URL: percent-encode your prompt into the path, make a GET request, read the body. The captured example asked for the capital of France and the entire response was the word `Paris.`
That simplicity is exactly what makes it suitable for demos, teaching and quick scripts — and exactly what makes it unsuitable for anything else. There is no authentication, so there is no isolation between you and everyone else using it; prompts sit in URLs, which end up in logs, browser history and referrer headers; and there is no service level of any kind behind it. Optional query parameters select a model and set a system prompt, and there is a companion image endpoint on a sibling host that returns a generated picture from the same URL-as-prompt pattern.
Quick facts
- Base URL
https://text.pollinations.ai- Authentication
- No API key and no account for the basic text endpoint. Registered referrers get higher tiers, but nothing is required to start.
- Rate limit
- Anonymous use is throttled; the project does not publish a figure. Expect queuing under load.
- Pricing
- Free.
- CORS
- Enabled — callable directly from browser JavaScript
- Official docs
- Read the docs
How to use the Pollinations Text API
Every request below was executed against the live API on 2026-08-21, and the response shown is the real body it returned — not an illustration.
1. Generate text from a prompt in the URL
GET https://text.pollinations.ai/What%20is%20the%20capital%20of%20France%3F
curl 'https://text.pollinations.ai/What%20is%20the%20capital%20of%20France%3F'const res = await fetch("https://text.pollinations.ai/What%20is%20the%20capital%20of%20France%3F");
if (!res.ok) throw new Error(`Request failed: ${res.status}`);
const data = await res.json();
console.log(data);import requests
res = requests.get("https://text.pollinations.ai/What%20is%20the%20capital%20of%20France%3F", timeout=20)
res.raise_for_status()
print(res.json())Paris.Parameters
| Parameter | Type | Required | Description |
|---|---|---|---|
(prompt) | path | Required | Your prompt, percent-encoded into the URL path. What%20is%20the%20capital%20of%20France%3F |
model | query | Optional | Which model to use. A `/models` endpoint lists the available names. openai |
system | query | Optional | System prompt, percent-encoded. Answer%20in%20one%20word |
seed | query | Optional | Seed for reproducible output where the model supports it. 42 |
json | query | Optional | Set true to receive a JSON-wrapped response instead of bare text. true |
Response fields
(body)text/plain- The generated text itself. No envelope, no metadata — the whole response body is the answer.
Content-Typeheader- `text/plain; charset=utf-8` by default. Adding `json=true` switches it to a JSON structure.
What you can build with the Pollinations Text API
- Prototype an LLM feature before committing to a paid provider
- Teach how generation works without handing out API keys
- Generate placeholder copy for a design mockup
- Add a lightweight text command to a hobby bot
Common errors and how to fix them
Prompt truncated or mangled
The prompt lives in a URL path with practical length limits.
Fix: Percent-encode carefully and keep prompts short. Long or complex prompts belong in a POST to a proper provider.
Slow or queued response
Free shared inference with no capacity guarantee.
Fix: Set a generous timeout and never put it on a blocking render path.
Inconsistent output
Different requests can be served by different models.
Fix: Pin `model` explicitly and set `seed` where supported if you need reproducibility.
Sensitive data exposed
Prompts travel in the URL.
Fix: URLs end up in server logs, browser history and referrer headers. Never send anything confidential through this.
Pollinations Text API — frequently asked questions
Is Pollinations really free with no key?
Yes. Put the prompt in the URL path and make a GET request. Registered referrers get higher tiers, but nothing is required to start.
What format is the response?
Plain text by default — the entire body is the generated output, with no JSON envelope. Adding `json=true` switches to a structured response.
Can I choose the model?
Yes, with the `model` query parameter. A `/models` endpoint on the same host lists what is currently available.
Is it suitable for production?
No. There is no authentication, no service level and no capacity guarantee, and prompts travel in URLs that end up in logs. Use it for prototypes and teaching.
Tools that pair with this API
Writing Prompt Generator
Generate random story prompts from genre, character, setting, conflict and constraint banks. Lock the parts you like and reroll the rest — free and offline.
Extractive Text Summarizer
Summarise long text by picking out its most significant sentences using Luhn's classic algorithm. Statistical only, and it runs in your browser.
URL Encoder
Percent-encode text for URLs instantly. Switch between encodeURIComponent and encodeURI modes, see live output and copy the result. Free URL encoder.
Pollinations Text is an independent third-party service and is not affiliated with ByteTools or ByteVancer. Details on this page were verified on 2026-08-21; always check the official documentation before relying on this API in production, as terms and limits can change.