Advanced PDF Analysis Tool API

Note :- Please review the HTML file and Report file And i have different folders for all the raw data i have extracted from the PDF # 📄 Advanced PDF Analysis

✨ Features

  • Text Extraction: Extract all text content with page-level
  • Word Statistics: Total words, unique words,
  • Spelling & Grammar: Automatic spell-checking
  • Smart Summarization: Extractive summarization using TF-IDF-like
  • Readability Metrics:
  • Flesch Reading Ease score
  • Gunning Fog Index
  • Grade level estimation
  • Average sentence length and syllable counts
  • Per-page readability tracking
  • Sentiment Analysis:
  • Page-by-page sentiment scoring
  • Overall document tone (positive/negative/neutral)
  • Polarity and subjectivity measurements
  • Sentiment trend visualization
  • Named Entity Recognition (NER): ⭐ NEW!
  • Automatic identification and classification of entities
  • Recognizes people, organizations, locations, dates, and more
  • Entity frequency analysis and top entity rankings
  • Category-wise entity breakdown
  • Helps quickly identify key topics and subjects in documents
  • Tables: Multi-method extraction (PyMuPDF, pdfplumber, text-based fallback)
  • Automatic header detection and promotion
  • Export to CSV with full metadata
  • Smart table synopsis generation
  • Images: Complete image extraction with metadata
  • Size classification (small/medium/large)
  • Color space and depth analysis
  • Duplicate detection
  • Context-aware extraction (nearby text)
  • References: Automatic citation and URL extraction
  • DOI detection
  • arXiv paper links
  • Web URLs and citations
  • Beautiful, modern design with dark gradient theme
  • Interactive Plotly charts:
  • Word frequency visualization
  • Page complexity analysis
  • Sentiment trends across pages
  • Named Entity Recognition section with:
  • Total entity count and category breakdown
  • Top entities table with counts
  • Entity type classification (PERSON, ORG, GPE, DATE, etc.)
  • Responsive grid layout
  • Key metrics cards
  • Searchable tables
  • One-click PDF export
  • Professional formatted report
  • Embedded tables with proper rendering
  • Image thumbnails
  • Comprehensive metrics summary

Input

Send these Fields as input. A Field not listed here is refused.

input

Upload

An https URL or an upload id.

  • Type: string
  • Required: yes
  • Length in characters: at least 1

Run it

One call presses the Widget and answers the run once its status is succeeded or failed, however long it takes. The key is read from ABYSS_API_KEY. Install the library with npm install abysshub or pip install abysshub; cURL sends the Fields as a form.

JavaScript

// index.mjs
import Abyss, { file } from "abysshub";

const abyss = new Abyss();

const run = await abyss.run("widget_360", {
  input: file("report.pdf"),
});

for (const path of await run.save("output")) {
  console.log(path);
}

Python

from abysshub import Abyss, file

abyss = Abyss()

run = abyss.run("widget_360", {
    "input": file("report.pdf"),
})

for path in run.save("output"):
    print(path)

cURL

curl https://api.abysshub.com/v1/widgets/widget_360/runs \
  -H "Authorization: Bearer $ABYSS_API_KEY" \
  -F input=@report.pdf

A succeeded run carries its result and its output_files. Their URLs are signed for each read: re-read the run, never store a URL. A run still queued or running in the answer (after an hour, or when the API is busy) is read again at its Location with ?wait=true.

More

Keys, files, errors and limits: API access.