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"
}
}contentClean page text (markdown, plain, or HTML)
metadata.titlePage title detected automatically
metadata.word_countWord 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. Click Get API key in the top right
- 2. Register as a developer — takes 30 seconds
- 3. Create an agent and copy your key
- 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.