URL Content Extraction API
Pass one or more URLs and get back clean, readable content with navigation and ads stripped. Drop into RAG pipelines, agent scrape-and-summarise flows, or content monitoring jobs.
Try Extract Live
One URL per line. Enter your API key and submit to extract content.
Pas encore de clé API ?
Connectez-vous à votre compte pour créer et gérer vos clés API.
API Integration Guide
Learn how to integrate this API into your applications with code examples and detailed documentation.
/api/extractBase URL
https://www.apipick.comFull Endpoint
https://www.apipick.com/api/extracturls1–25 http(s) URLs
extract_effortauto | low | high
response_lengthshort | medium | long
cURL Request
curl -X POST "https://www.apipick.com/api/extract" \
-H "Content-Type: application/json" \
-H "x-api-key: YOUR_API_KEY" \
-d '{
"urls": [
"https://en.wikipedia.org/wiki/Retrieval-augmented_generation",
"https://docs.anthropic.com/claude/docs/intro-to-claude"
],
"extract_effort": "auto"
}'YOUR_API_KEY with your actual API keyJSON Response
{
"results": [
{
"url": "https://en.wikipedia.org/wiki/Retrieval-augmented_generation",
"title": "Retrieval-augmented generation - Wikipedia",
"content": "Retrieval-augmented generation (RAG) is a technique…",
"status": "ok"
}
],
"result_count": 1,
"credits_used": 2,
"remaining_credits": 98
}✓Best Practices
- • Always include x-api-key header
- • Always handle errors gracefully
- • Validate input data before sending
- • Use HTTPS for secure communication
- • Cache responses when appropriate
ℹResponse Headers
- • Content-Type: application/json
- • x-api-key: Required for authentication
- • Status codes: 200 (success), 400 (error), 401 (unauthorized)
- • No rate limiting applied
Rate Limits
Request Rate
30req / min
Per API key, per endpoint. Sliding 60-second window.
Concurrency
3concurrent
Max simultaneous in-flight requests per API key.
Response Headers
429 Too Many Requests
HTTP/1.1 429 Too Many Requests
Retry-After: 12
X-RateLimit-Limit: 30
X-RateLimit-Remaining: 0
X-RateLimit-Reset: 12
{
"error": "rate_limit_exceeded",
"message": "Rate limit exceeded: 30 requests/minute per API key. Retry after 12s.",
"retry_after": 12
}Frequently Asked Questions
How are credits charged?
2 credits per URL submitted. A single call with 5 URLs costs 10 credits. Maximum 25 URLs per call.
What does the response look like?
An array of { url, title, content, status } objects. content is cleaned readable text (markdown-flavoured), with boilerplate removed. Suitable for direct LLM consumption.
Can I control extraction depth?
Pass extract_effort (auto, low, high). 'auto' is the default and works for most pages. 'high' is slower but does a more thorough job on JS-heavy or paywalled-style pages.
What happens if a URL fails?
Failed URLs return status set to an error code in the results array, but the call as a whole succeeds. Credits are charged for all URLs submitted regardless of per-URL outcome.
Is there a tool schema?
GET /api/extract/tool-schema returns OpenAI function and Claude tool use definitions.