# MetaPhrase

> Six writing tools and a developer API: paraphrasing, grammar, AI-writing estimates, translation, summaries and citations.

Origin: https://metaphrase.msalman.com. REST base: https://metaphrase.msalman.com/api/v1. POST JSON with Authorization: Bearer <key>. Keep the key in backend env METAPHRASE_API_KEY; never put its value in frontend code or AI prompts. JSON fields use snake_case. Errors include code, message and docs_url. Input cap: 20000 Unicode code points. Grammar/citation/extractive summaries require no LLM.

## Start here

- [Entire documentation](https://metaphrase.msalman.com/llms-full.txt): All pages, parameters, examples, error fixes and integration recipes in one Markdown file.
- [OpenAPI JSON](https://metaphrase.msalman.com/openapi.json): Complete OpenAPI 3.1 schema.
- [OpenAPI YAML](https://metaphrase.msalman.com/openapi.yaml): The same schema as YAML.

## Documentation

- [MetaPhrase developer API](https://metaphrase.msalman.com/docs.md): Bring six writing tools to your app with one consistent API and documentation your AI assistant can read.
- [Quickstart](https://metaphrase.msalman.com/docs/quickstart.md): Make your first successful API call in under two minutes.
- [Authentication and API key safety](https://metaphrase.msalman.com/docs/authentication.md): Authenticate every REST call with a secret Bearer key stored on your backend.
- [paraphrase](https://metaphrase.msalman.com/docs/paraphrase.md): Rewrite text in one of seven modes while preserving its meaning.
- [grammar](https://metaphrase.msalman.com/docs/grammar.md): Find language issues and return suggestions with corrected text, without an LLM.
- [detect](https://metaphrase.msalman.com/docs/detect.md): Estimate AI-like writing cues overall and for each sentence; results may be wrong.
- [translate](https://metaphrase.msalman.com/docs/translate.md): Translate text across 42 languages with source detection and RTL metadata.
- [summarize](https://metaphrase.msalman.com/docs/summarize.md): Create paragraphs, bullets, or exact source key sentences.
- [cite](https://metaphrase.msalman.com/docs/cite.md): Generate a citation and BibTeX/RIS exports from source metadata, without an LLM.
- [Streaming responses](https://metaphrase.msalman.com/docs/streaming.md): Use Server-Sent Events for paraphrase rewrites, translation and summarization.
- [Long texts, caching, limits and retries](https://metaphrase.msalman.com/docs/reliability.md): Bound requests, preserve sentence order and retry only errors that can recover.
- [Official JavaScript and Python SDKs](https://metaphrase.msalman.com/docs/sdks.md): Use small dependency-free clients with types generated from the deployed OpenAPI contract.
- [Embeddable paraphraser widget](https://metaphrase.msalman.com/docs/widget.md): Add a MetaPhrase writing box with one script tag and no frontend secret key.
- [Errors and troubleshooting](https://metaphrase.msalman.com/docs/errors.md): Find the exact cause and fix for every API and web-tool error.
- [Plain HTML website with a backend proxy](https://metaphrase.msalman.com/docs/recipe-html.md): Run a complete HTML paraphraser while keeping your MetaPhrase key on the server.
- [React and Next.js integration](https://metaphrase.msalman.com/docs/recipe-nextjs.md): Keep the MetaPhrase key in an App Router backend route and call that route from React.
- [WordPress plugin recipe](https://metaphrase.msalman.com/docs/recipe-wordpress.md): Add a paraphraser shortcode whose requests go through WordPress, never through a browser secret key.
- [Laravel integration](https://metaphrase.msalman.com/docs/recipe-laravel.md): Use Laravel's HTTP client from a server controller and keep the key in configuration.
- [Django and FastAPI backends](https://metaphrase.msalman.com/docs/recipe-python.md): Call MetaPhrase from a Python server and expose only your own proxy route to the browser.
- [Android, iOS and Flutter via a backend](https://metaphrase.msalman.com/docs/recipe-mobile.md): Mobile apps call your own backend proxy, never the MetaPhrase secret-key endpoint directly.
- [Lovable, Bolt, Zapier and Make](https://metaphrase.msalman.com/docs/recipe-no-code.md): Use server actions or a backend webhook step so your secret key never enters a public page.
- [Changelog and versioning](https://metaphrase.msalman.com/docs/changelog.md): REST v1 uses explicit versioned paths and a stable snake_case contract.
