Langkau ke kandungan
Dikuasakan AIAutonomi8 credits

agent

Penyelidikan dan pengekstrakan autonomi daripada prompt bahasa tabii — tiada URL diperlukan. Ejen merancang langkahnya sendiri, mencari dan membaca sumbernya sendiri, serta membentuk jawapan dalam had tegas maxSteps dan maxUrls yang anda tetapkan.

Kes Penggunaan

Penyelidikan Terbuka

Jawab soalan yang merentas tapak yang belum anda kenal pasti — ejen menemui sumbernya sendiri dan bukannya menerima senarai URL.

Petikan Persaingan

Tanya tentang tingkat harga semasa atau set ciri pesaing dan dapatkan jawapan tersintesis, bukan timbunan HTML mentah.

Autonomi Bersempadan

maxSteps (had tegas 10) dan maxUrls (had tegas 20) membataskan setiap larian, jadi ia tidak akan mengambil lebih daripada bajet yang anda tetapkan.

Jawapan Boleh Dibaca Mesin

Berikan schema apabila hasilnya menyuap sistem hiliran dan bukan pembaca manusia, dan ejen memulangkan objek berstruktur dan bukannya prosa.

Endpoint

POST/api/v1/tools/agent
Auth Required
1 req/s pada pelan Free
8 credits

Parameters

NameTypeRequiredDefaultDescription
prompt
stringRequired-
Tugas atau soalan dalam bahasa tabii yang perlu dijawab oleh ejen. 1 hingga 2,000 aksara.
Example: Find the current pricing tiers for the top 3 MCP web-scraping providers
urls
arrayOptional-
URL benih pilihan untuk dimasukkan ke dalam larian. Ejen masih menemui sumbernya sendiri di luar ini, melainkan prompt merujuk kepadanya — "this page", "these URLs", "the given site" — dan dalam hal itu tiada carian web dijalankan dan jawapan datang daripada URL benih sahaja. Sehingga 20.
Example: ["https://example.com/pricing"]
schema
objectOptional-
Skema JSON pilihan. Berikan satu untuk mendapatkan objek berstruktur dalam `answer` dan bukannya prosa.
model
stringOptional"default"
`default` menjalankan gelung perancangan terbina. `pro` **ditolak oleh API REST** — ia memerlukan pengesahan interaktif, jadi jalankan pro pada pelayan MCP CrawlForge.
Example: default
maxSteps
numberOptional5
Bilangan maksimum lelaran pengambilan yang boleh dijalankan ejen. Had tegas 10.
Example: 5
maxUrls
numberOptional10
Bilangan maksimum URL yang boleh diambil ejen. Had tegas 20.
Example: 10
max_inline_chars
numberOptional40000
Hasil terbesar yang dikembalikan sebaris, dalam aksara JSON-nya (1,000-10,000,000). Melebihinya, respons membawa `preview` (`max_inline_chars` aksara pertama `answer`, atau JSON yang diformat apabila `schema` menjadikan `answer` objek), `result_handle`, `total_chars`, `truncated: true` dan `expires_at`, dan [read_result](/docs/api-reference/tools/read-result) membaca selebihnya dengan 1 credit setiap panggilan. Hasil tersimpan disimpan selama 1 jam.
Example: 40000

Contoh Permintaan

cURL

terminalBash
curl -X POST https://crawlforge.dev/api/v1/tools/agent \
  -H "X-API-Key: cf_test_YOUR_KEY" \
  -H "Content-Type: application/json" \
  -d '{
    "prompt": "Find the current pricing tiers for the top 3 MCP web-scraping providers",
    "maxSteps": 5,
    "maxUrls": 10
  }'

TypeScript

agent.tsTypescript
// npm install crawlforge-sdk
import { CrawlForge } from 'crawlforge-sdk';

const client = new CrawlForge({ apiKey: process.env.CRAWLFORGE_API_KEY });

const result = await client.agent({
  prompt: 'Find the current pricing tiers for the top 3 MCP web-scraping providers',
  maxSteps: 5, // fetch iterations, hard cap 10
  maxUrls: 10, // URLs to fetch, hard cap 20
  // Optional: seed the run with URLs you already trust (max 20)
  // urls: ['https://example.com/pricing'],
  // Optional: pass a JSON schema to get a structured answer instead of prose
  // schema: { type: 'object', properties: { /* ... */ } },
});

// result.data is untyped in crawlforge-sdk 0.1 — its shape is the Response Example below.
const { answer, steps_taken, sources } = result.data as {
  answer: string; steps_taken: number; sources: { url: string; title: string }[];
};
console.log('Answer:', answer);
console.log('Steps taken:', steps_taken);
console.log('Sources read:', sources);

console.log('Credits used:', result.creditsUsed);
console.log('Credits remaining:', result.creditsRemaining);

Python

agent.pyPython
# pip install crawlforge
from crawlforge import CrawlForge

client = CrawlForge()  # reads CRAWLFORGE_API_KEY

result = client.agent(
    prompt='Find the current pricing tiers for the top 3 MCP web-scraping providers',
    maxSteps=5,  # fetch iterations, hard cap 10
    maxUrls=10,  # URLs to fetch, hard cap 20
    # Optional: seed the run with URLs you already trust (max 20)
    # urls=['https://example.com/pricing'],
    # Optional: pass a JSON schema to get a structured answer instead of prose
    # schema={'type': 'object', 'properties': {}},
)

# result.data is a plain dict — its shape is the Response Example below.
print(f"Answer: {result.data['answer']}")
print(f"Steps taken: {result.data['steps_taken']}")
print(f"Sources read: {result.data['sources']}")

print(f"Credits used: {result.credits_used}")
print(f"Credits remaining: {result.credits_remaining}")

Contoh Respons

200 OK13820ms
{
"success": true,
"data": {
"answer": "## Pricing comparison\n\n- **CrawlForge** — Free (1,000 credits), Hobby $19/mo, Professional $99/mo...",
"sources": [
{
"url": "https://example.com/pricing",
"title": "Example — Pricing"
},
{
"url": "https://example.org/plans",
"title": "Example Org — Plans"
}
],
"steps_taken": 3,
"urls_fetched": 5
},
"credits_used": 8,
"credits_remaining": 992,
"processing_time": 13820
}
Field Descriptions
data.answerJawapan tersintesis — prosa secara lalai, atau objek berstruktur apabila anda memberikan `schema`
data.sourcesSetiap sumber yang dibaca ejen semasa menjawab — gunakannya untuk mengaudit asal usul
data.steps_takenBerapa banyak lelaran pengambilan yang benar-benar digunakan larian ini
data.urls_fetchedBerapa banyak URL yang diambil ejen semasa menjawab
credits_usedCredits yang ditolak bagi larian ini: 8, tambah 5 bagi setiap cubaan semula stealth yang berjaya mendapatkan halaman (maksimum 18), tidak kira bilangan langkah
credits_remainingBaki credits anda

Pengendalian Ralat

Input Tidak Sah (400 Bad Request)

prompt tiada atau berada di luar julat 1 hingga 2,000 aksara, maxSteps/maxUrls berada di luar julat, atau model ditetapkan kepada pro — yang ditolak oleh API REST kerana ia memerlukan pengesahan interaktif.

Larian Ejen Gagal (500 Internal Server Error)

Larian tidak dapat diselesaikan. Credits tidak ditolak bagi larian yang gagal — cuba semula dengan prompt yang lebih sempit atau maxSteps yang lebih kecil.

Credits Tidak Mencukupi (402 Payment Required)

Akaun anda tidak mempunyai credits yang mencukupi. Beli lebih banyak credits atau naik taraf pelan anda.

Had Kadar Dilampaui (429 Too Many Requests)

Anda telah melampaui had kadar pelan anda. Tunggu sebentar atau naik taraf pelan anda untuk had yang lebih tinggi.

Kos Credits

8 credits
8 credits setiap larian, tambah 5 bagi setiap cubaan semula stealth
Setiap larian agent berkos 8 credits tidak kira berapa banyak langkah yang diambilnya atau berapa banyak URL yang dilawatinya — had yang anda tetapkan membataskan berapa banyak yang diambil ejen, bukan harga. Apabila halaman yang diperlukannya disekat (halaman cabaran, 403/429, halaman kosong atau tamat masa), ejen mencubanya semula dalam pelayar stealth tanpa diminta, dan setiap cubaan semula yang berjaya mendapatkan halaman menambah 5 credits. Cubaan semula yang disekat lagi tidak dikenakan apa-apa. Terdapat paling banyak 2 cubaan semula setiap larian, jadi satu larian tidak pernah berkos lebih daripada 18 — iaitu juga jumlah yang ditempah sebelum ia bermula.

Pelan Free: 1,000 credits sekali sahaja = 125 larian

Pelan Hobby: 5,000 credits/bulan = 625 larian (USD 19/bulan)

Pelan Professional: 100,000 credits/bulan = 12,500 larian (USD 99/bulan)

Pelan Business: 500,000 credits/bulan = 62,500 larian (USD 399/bulan)

Alat Berkaitan