5 free calls · No signup

Quickstart

Make your first API call in under 2 minutes.

1

Fetch a webpage — no API key needed

Your first 5 calls work without any authentication. Just POST a URL and get clean content back.

javascript
const res = await fetch('https://api.bond.dev/v1/fetch', {
  method: 'POST',
  headers: { 'Content-Type': 'application/json' },
  body: JSON.stringify({
    url: 'https://en.wikipedia.org/wiki/Stripe_(company)',
  }),
})

const { content, metadata } = await res.json()
console.log(content)       // clean markdown
console.log(metadata.title) // "Stripe, Inc."
2

See what comes back

Every response has a content field with the clean text and a metadata object.

json
{
  "content": "# Stripe, Inc.\n\nStripe is an Irish-American...",
  "metadata": {
    "title": "Stripe, Inc.",
    "domain": "en.wikipedia.org",
    "timestamp": "2026-04-11T14:32:00Z",
    "word_count": 4821,
    "format": "markdown"
  }
}
content

Clean page text (markdown, plain, or HTML)

metadata.title

Page title detected automatically

metadata.word_count

Word count of extracted content

3

Get an API key (60 seconds)

After your 5 free trial calls, grab a free API key for 1,000 calls/hour. No credit card required.

  1. 1. Click Get API key in the top right
  2. 2. Register as a developer — takes 30 seconds
  3. 3. Create an agent and copy your key
  4. 4. Add it to your request as Authorization: Bearer bond_sk_...
javascript
const res = await fetch('https://api.bond.dev/v1/fetch', {
  method: 'POST',
  headers: { 'Content-Type': 'application/json' },
  body: JSON.stringify({
    url: 'https://en.wikipedia.org/wiki/Stripe_(company)',
  }),
})

const { content, metadata } = await res.json()
console.log(content)       // clean markdown
console.log(metadata.title) // "Stripe, Inc."
4

Extract structured fields

Need specific data like price, title, or rating? Use /v1/extract with a list of field names. Bond figures out the rest.

javascript
const res = await fetch('https://api.bond.dev/v1/extract', {
  method: 'POST',
  headers: {
    'Authorization': 'Bearer bond_sk_your_key_here',
    'Content-Type': 'application/json',
  },
  body: JSON.stringify({
    url: 'https://airbnb.com/rooms/12345',
    fields: ['price', 'title', 'rating', 'location'],
  }),
})

const { data, confidence } = await res.json()
// data.price      → "$189/night"
// data.rating     → "4.92"
// confidence.price → "high"

That's it.

No scraper. No proxy rotation. No headless browser. Just clean data.