BYTETOOLS

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.

No API key requiredCORS enabledHTTPSFree tier

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
curl 'https://text.pollinations.ai/What%20is%20the%20capital%20of%20France%3F'
JavaScript (fetch)
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);
Python (requests)
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())
Response — HTTP 200
Paris.

Parameters

ParameterTypeRequiredDescription
(prompt)pathRequiredYour prompt, percent-encoded into the URL path. What%20is%20the%20capital%20of%20France%3F
modelqueryOptionalWhich model to use. A `/models` endpoint lists the available names. openai
systemqueryOptionalSystem prompt, percent-encoded. Answer%20in%20one%20word
seedqueryOptionalSeed for reproducible output where the model supports it. 42
jsonqueryOptionalSet 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

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.