Code Examples

cURL

curl -X POST https://api.content-extractor.devstools.net/v1/extract \
  -H "Authorization: Bearer ce_your_token_here" \
  -H "Content-Type: application/json" \
  -d '{
    "html": "<html><head><title>Article</title></head><body><article><h1>Title</h1><p>Content</p></article></body></html>"
  }'

Node.js

const response = await fetch('https://api.content-extractor.devstools.net/v1/extract', {
  method: 'POST',
  headers: {
    'Authorization': 'Bearer ce_your_token_here',
    'Content-Type': 'application/json'
  },
  body: JSON.stringify({
    html: '<html><body><article><h1>Title</h1><p>Content</p></article></body></html>'
  })
});

if (!response.ok) {
  throw new Error(`API error: ${response.status}`);
}

const data = await response.json();
console.log('Title:', data.title);
console.log('Content:', data.content);

Python

import requests

response = requests.post(
    'https://api.content-extractor.devstools.net/v1/extract',
    headers={
        'Authorization': 'Bearer ce_your_token_here',
        'Content-Type': 'application/json'
    },
    json={
        'html': '<html><body><article><h1>Title</h1><p>Content</p></article></body></html>'
    }
)

response.raise_for_status()
data = response.json()
print(f"Title: {data['title']}")
print(f"Content: {data['content']}")

Python with Error Handling

import requests

try:
    response = requests.post(
        'https://api.content-extractor.devstools.net/v1/extract',
        headers={
            'Authorization': 'Bearer ce_your_token_here',
            'Content-Type': 'application/json'
        },
        json={'html': html_content}
    )
    response.raise_for_status()
    data = response.json()
    return data
except requests.exceptions.HTTPError as e:
    if response.status_code == 402:
        print("Quota exceeded. Purchase credits or wait for reset.")
    elif response.status_code == 401:
        print("Invalid API token.")
    else:
        print(f"API error: {e}")
    raise

JavaScript/TypeScript

async function extractContent(html: string): Promise<ExtractResponse> {
  const response = await fetch('https://api.content-extractor.devstools.net/v1/extract', {
    method: 'POST',
    headers: {
      'Authorization': `Bearer ${process.env.API_TOKEN}`,
      'Content-Type': 'application/json'
    },
    body: JSON.stringify({ html })
  });

  if (!response.ok) {
    if (response.status === 402) {
      throw new Error('Quota exceeded');
    }
    throw new Error(`API error: ${response.status}`);
  }

  return response.json();
}