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