URLTexter API Documentation

Integrate powerful text extraction and processing capabilities into your applications

Authentication

All API requests require authentication using your API key. Include it in the Authorization header:

Authorization: Bearer YOUR_API_KEY

Text Extraction

Extract clean text from any webpage or document URL:

POST /v1/extract-text
Content-Type: application/json

{
  "url": "https://example.com/article",
  "options": {
    "include_links": false,
    "clean_whitespace": true
  }
}

Response

{
  "success": true,
  "url": "https://example.com/article",
  "content": "Extracted article text...",
  "metadata": {
    "title": "Article Title",
    "author": "Author Name",
    "word_count": 1200,
    "read_time": 5
  }
}

AI Processing

Process text with state-of-the-art language models:

POST /v1/process-ai
Content-Type: application/json

{
  "text": "Text to process...",
  "operations": [
    {"type": "summary", "length": "medium"},
    {"type": "key_points", "count": 5}
  ]
}

Response

{
  "success": true,
  "original_length": 1200,
  "processed_length": 250,
  "results": {
    "summary": "Summarized text...",
    "key_points": [
      "Key point 1",
      "Key point 2",
      "Key point 3",
      "Key point 4",
      "Key point 5"
    ]
  }
}

Batch Processing

Process up to 100 URLs in a single API call:

POST /v1/batch-process
Content-Type: application/json

{
  "requests": [
    {"url": "https://example.com/article1"},
    {"url": "https://example.com/article2"},
    {"url": "https://example.com/article3"}
  ],
  "options": {
    "concurrency": 3,
    "timeout": 30
  }
}

AI-Powered Content Transformation

Key Takeaways

Identify and extract the most important insights from any content. Perfect for executive summaries and research analysis.

POST /v1/key-takeaways
Content-Type: application/json

{
  "text": "Long text content...",
  "max_points": 5, // Number of key takeaways (1-10)
  "detail_level": "concise" // concise | detailed
}

Response

{
  "success": true,
  "key_takeaways": [
    "Key insight 1",
    "Key insight 2",
    "Key insight 3"
  ],
  "summary": "Brief overview of key insights"
}

Blog Post Creation

Transform raw content or outlines into fully-formed blog posts with introductions, section headers, and conclusions.

POST /v1/blog-post
Content-Type: application/json

{
  "text": "Source content or outline...",
  "tone": "professional", // casual | professional | academic
  "target_audience": "developers",
  "length": 1200, // word count
  "include_headings": true // Generate with section headings
}

Response

{
  "success": true,
  "title": "The Future of AI Development",
  "content": {
    "introduction": "...",
    "sections": [
      {"heading": "Current State", "content": "..."},
      {"heading": "Emerging Trends", "content": "..."},
      {"heading": "Future Predictions", "content": "..."}
    ],
    "conclusion": "..."
  },
  "word_count": 1250
}

Comprehension Questions

Generate questions to test understanding of content. Ideal for educational applications and training materials.

POST /v1/comprehension-questions
Content-Type: application/json

{
  "text": "Educational content...",
  "difficulty": "medium", // easy | medium | hard
  "question_types": ["multiple_choice", "short_answer"],
  "num_questions": 5 // Number of questions to generate
}

Response

{
  "success": true,
  "questions": [
    {
      "question": "What is the main topic?",
      "type": "multiple_choice",
      "options": ["Option A", "Option B", "Option C"],
      "answer": 0
    },
    {
      "question": "Explain the key concept in your own words",
      "type": "short_answer"
    }
  ],
  "answer_key": "Summary of correct answers"
}

Advanced Content Analysis

Structured Data Extraction

Convert unstructured content into structured JSON using custom schemas. Perfect for data pipelines and content aggregation.

POST /v1/structured-json
Content-Type: application/json

{
  "text": "Text with structured information...",
  "schema": {
    "title": "string",
    "author": "string",
    "date_published": "date",
    "key_topics": "array",
    "main_points": "array"
  },
  "strict_mode": false // Whether to require all schema fields
}

Response

{
  "success": true,
  "data": {
    "title": "Article Title",
    "author": "Author Name",
    "date_published": "2025-07-08",
    "key_topics": ["AI", "Machine Learning", "NLP"],
    "main_points": [
      "Point 1",
      "Point 2",
      "Point 3"
    ]
  },
  "missing_fields": ["author_bio"] // Fields not found in text
}

Content Analysis

Comprehensive analysis of content including sentiment, readability, complexity, and key themes.

POST /v1/content-analysis
Content-Type: application/json

{
  "text": "Text to analyze...",
  "analyses": ["sentiment", "readability", "key_themes", "complexity"],
  "detail_level": "standard" // basic | standard | comprehensive
}

Response

{
  "success": true,
  "sentiment": {
    "score": 0.85,
    "label": "positive",
    "positive_keywords": ["innovative", "efficient"],
    "negative_keywords": ["challenging"]
  },
  "readability": {
    "flesch_reading_ease": 65.2,
    "grade_level": "8th-9th grade",
    "reading_time_minutes": 8
  },
  "key_themes": [
    {"theme": "Artificial Intelligence", "relevance": 0.92},
    {"theme": "Technology", "relevance": 0.85},
    {"theme": "Innovation", "relevance": 0.78}
  ],
  "complexity": {
    "score": 7.2,
    "level": "moderate"
  }
}

Content Detection

Identify content type, language, and key features including PII detection and topic classification.

POST /v1/content-detection
Content-Type: application/json

{
  "text": "Sample text...",
  "features": ["content_type", "language", "pii", "topics"],
  "pii_types": ["emails", "phone_numbers", "credit_cards"] // Specific PII to detect
}

Response

{
  "success": true,
  "content_type": "technical article",
  "language": {
    "detected": "en",
    "confidence": 0.98
  },
  "pii_detected": [
    {"type": "email", "value": "user@example.com", "count": 1}
  ],
  "topics": [
    "Artificial Intelligence",
    "Machine Learning",
    "Natural Language Processing"
  ]
}

Core Text Processing Services

Text Extraction

Extract clean, readable text from any webpage or document, removing ads and noise while preserving structure.

POST /v1/extract-text
Content-Type: application/json

{
  "url": "https://example.com/article", // URL to extract text from
  "format": "clean", // clean | html | markdown
  "include_metadata": true, // Include title, author, etc.
  "timeout": 30 // Seconds before timing out
}

Response

{
  "success": true,
  "content": "Extracted article text...",
  "metadata": {
    "title": "Article Title",
    "author": "Author Name",
    "word_count": 1200,
    "estimated_reading_time": 5
  }
}

Summarization

Create concise summaries of text content with adjustable length and detail level.

POST /v1/summarize
Content-Type: application/json

{
  "text": "Long article text...",
  "ratio": 0.3, // 0-1 (percentage of original to keep)
  "style": "paragraph", // paragraph | bullet_points | executive
  "focus": "key_points" // key_points | overview | detailed_analysis
}

Response

{
  "success": true,
  "summary": "Concise summary of the content...",
  "original_length": 2500,
  "summary_length": 750,
  "key_points": [
    "Main point 1",
    "Main point 2",
    "Main point 3"
  ]
}

Translation

Accurate translation between 100+ languages while preserving meaning and context.

POST /v1/translate
Content-Type: application/json

{
  "text": "Hello world",
  "source_lang": "auto", // auto-detect or specify
  "target_lang": "es",
  "formality": "neutral" // neutral | formal | informal
}

Response

{
  "success": true,
  "translated_text": "Hola mundo",
  "source_language": "en",
  "target_language": "es",
  "confidence": 0.98
}

Batch Processing

Process up to 100 URLs or documents in a single API call with configurable concurrency.

POST /v1/batch-process
Content-Type: application/json

{
  "requests": [
    {
      "url": "https://example.com/article1",
      "operations": ["extract", "summarize"]
    },
    {
      "text": "Pre-provided text content...",
      "operations": ["translate"]
    }
  ],
  "concurrency": 5, // Max simultaneous requests (1-10)
  "timeout": 60 // Overall timeout in seconds
}

Response

{
  "success": true,
  "processed": 5,
  "failed": 0,
  "results": [
    {
      "id": "req_1",
      "status": "completed",
      "extract": "...",
      "summary": "..."
    },
    {
      "id": "req_2",
      "status": "completed",
      "translation": "..."
    }
  ]
}

API Key Management

Rotate keys, track usage, and set rate limits:

GET /v1/api-keys
Authorization: Bearer YOUR_API_KEY

Response:

{
  "keys": [
    {
      "id": "key_12345",
      "name": "Production Key",
      "created": "2025-07-01T12:00:00Z",
      "last_used": "2025-07-08T10:30:00Z"
    }
  ]
}

Create new keys, rotate, or revoke existing keys from your API Keys dashboard.

Error Handling

Standard error responses:

HTTP Status Error Code Description
401 invalid_api_key Invalid or missing API key
429 rate_limit_exceeded API rate limit exceeded
400 invalid_url The provided URL is invalid
400 invalid_schema Invalid structured data schema
500 processing_error Error during text processing

Rate Limits

  • Free tier: 100 requests/hour
  • Pro tier: 1,000 requests/hour
  • Business tier: 10,000 requests/hour

Exceeding limits returns 429 status with Retry-After header