apyhub
DATA EXTRACTION · DEVELOPER TOOLS

Extract Text from Word API

What it does

Word Text Extractor pulls plain text out of .doc and .docx files. Send a remote document URL to /url, or upload a Word file to /file, and get the extracted text back in data.

Use preserve_paragraphs when you need the text to keep paragraph breaks instead of flattening everything into one string. That makes the output easier to feed into search indexing, document processing pipelines, review workflows, or downstream NLP steps that depend on paragraph boundaries.

The response is intentionally simple: a single data field containing the extracted text. That makes Word Text Extractor easy to drop into automation jobs where you only need the readable content, not formatting, styles, or embedded layout details.

If you are building import tools, content migration flows, or internal document search, this service gives you a direct way to turn Word documents into text your code can work with.

▣ ENDPOINT 01 / 02
POST
Extract text from Word document at remote URL
https://api.eu.apyverse.com/apyhub/extract-word-text/url

QUICKSTART

GUIDE

Quickstart

Extract text from a Word document by sending its document URL.

curl -X POST "https://api.eu.apyverse.com/apyhub/extract-word-text/url" \
  -H "apy-token: $APY_TOKEN" \
  -H "Content-Type: application/json" \
  -d '{
    "url": "https://assets.apyhub.com/samples/sample.docx"
  }'

What you'll get back

Returns a JSON object with a data string field containing the extracted Word document text.

{
  "data": "Sample Word document paragraph one. Sample paragraph two."
}
TRY ITLIVE · 60 ATOMS
Loading your default key…
The full key is used to call the gateway and stays in this tab — never sent to orbit or saved.
body*

About this endpoint

What it does

Extracts the text content from a Word document hosted at a remote URL and returns the extracted text as a string.

Request Body

ParameterTypeMandatoryDescription
urlStringYesRemote Word document URL. Must be a valid URI.
preserve_paragraphsBooleanNoPreserves paragraph separation in the extracted text. Default: false.

Response

Returns a JSON object with a data string field containing the extracted text from the Word document.

ParameterTypeMandatoryDescription
dataStringYesThe extracted text content from the Word document.

Body

Name
Type
Description
bodyREQUIRED
object
▣ ENDPOINT 02 / 02
POST
Extract text from uploaded Word document
https://api.eu.apyverse.com/apyhub/extract-word-text/file

QUICKSTART

GUIDE

Quickstart

Upload a Word document to extract its text.

curl -X POST "https://api.eu.apyverse.com/apyhub/extract-word-text/file" \
  -H "apy-token: $APY_TOKEN" \
  -F "file=@/path/to/document.docx"

What you'll get back

Returns a JSON object with a data string field containing the extracted text from the Word document.

{
  "data": "Sample Word document paragraph one. Sample paragraph two."
}
TRY ITLIVE · 60 ATOMS
Loading your default key…
The full key is used to call the gateway and stays in this tab — never sent to orbit or saved.
Max 100MB total per request (all files combined). Larger? Use this API's URL-based endpoint instead, if it has one.
body*
Word document (.doc or .docx).

About this endpoint

What it does

Uploads a Word document and extracts its text content. The response returns the extracted text as a JSON object with a single data string field.

Request Body

ParameterTypeMandatoryDescription
fileStringYesWord document file upload. Format: .doc or .docx.
preserve_paragraphsENUMNoControls paragraph handling. Allowed values: true, false. Default: false.

Response

Returns a JSON object with a data string field containing the extracted text from the uploaded Word document.

ParameterTypeMandatoryDescription
dataStringYesExtracted text content from the Word document.

Body

Name
Type
Description
bodyREQUIRED
object

Max 100MB total per request (all files combined). Larger? Use this API's URL-based endpoint instead, if it has one.

▣ COMMON ERRORS

Errors any endpoint can return

400bad_request

Required parameter missing or malformed body.

401unauthorized

API key missing, revoked, or not authorized for this service.

429rate_limited

Your plan's per-second rate exceeded. Retry with exponential backoff.

503upstream_busy

Backend temporarily unavailable. Try again in a few seconds.