Skip to content

CrawlForge TeamEngineering Team

4 min read

Market Research API Pay As You Go: Price the Question

Market research doesn't arrive as a steady stream. It arrives as a question: how does this category price, who is moving upmarket, which competitor just dropped its free tier. You answer it in a week, then nothing for a month or two.

The top results for this phrase are lists of research tools priced by the month. With a market research api pay as you go, you pay for the calls a study makes and nothing in between. The lead enrichment version of this post covers how per-call billing works and when a plan beats packs. This one covers two things that matter for research: what a single question costs, and how to stop it costing more.

What does one market research question cost?

Every call has a published price, so you can cost a study before you run it:

CallCredits≈ Cost at $0.003
search_web, per query5$0.015
map_site, per domain2$0.006
scrape with a question, per page3$0.009
serp_rank, per keyword5$0.015
deep_research, per run10$0.03

Take "how do help-desk tools price: per seat, per usage or flat?". Three searches to build the vendor list (15 credits), one question against each of 30 pricing pages (90), and one deep_research run for category context (10). That comes to 115 credits, about $0.35. The free signup grant of 1,000 credits covers eight studies that size.

The estimate is a ceiling, not a guess. A search that fails is not charged, and neither is a page that fails to load. The RevOps post shows how the question format answers from the page's own sentences.

How do you cap what a study can spend?

There are two limits, one in your code and one in your account.

The one in your code is a budget per study. Every response reports credits_used, so the study can count what it has spent and refuse the next call if that call could go over:

Typescript
const API = 'https://www.crawlforge.dev/api/v1/tools/'
const headers = {
  'X-API-Key': process.env.CRAWLFORGE_API_KEY ?? '',
  'Content-Type': 'application/json',
}

// One study, one budget in credits. Each call states its published price, and
// the guard refuses any call that could take the study past its budget.
export function study(budget: number) {
  let spent = 0
  return async function call(tool: string, body: object, price: number) {
    if (spent + price > budget) throw new Error(`Budget reached: ${spent} of ${budget} credits`)
    const res = await fetch(API + tool, { method: 'POST', headers, body: JSON.stringify(body) })
    if (res.status === 402) throw new Error('Balance empty. Nothing was charged.')
    if (!res.ok) return null
    const json = await res.json()
    spent += json.credits_used
    return json
  }
}

const call = study(150)
const question = 'Is this product priced per seat, per usage, or at a flat rate?'

// Search results include listicles; keep only vendors' own pricing pages in practice.
const found = await call('search_web', { query: 'help desk software pricing', limit: 30 }, 5)
for (const result of found?.data.results ?? []) {
  const page = await call('scrape', { url: result.url, formats: [{ type: 'question', question }] }, 3)
  console.log(result.url, page?.data.formats.answer?.text ?? '(no answer)')
}

The one in your account is the balance. It is prepaid, so when it can't cover a call the API returns 402 INSUFFICIENT_CREDITS, charges nothing and sends no invoice. Auto-recharge is off by default. If you turn it on, it runs against a monthly spend cap you set. A script with a bug in its loop therefore stops at the balance, and never runs up a bill.

What doesn't this API research?

CrawlForge reads public web pages: pricing, product, careers and docs pages, plus search results. It doesn't run surveys, recruit panels, sell syndicated reports or estimate market size or traffic. For those you need a research vendor. CrawlForge covers the desk research that comes before or alongside one, and the consultants post shows what that looks like across a full engagement.

Start free with 1,000 credits and cost your first question before you run it.

Try this yourself — no signup needed

Explore all 31 CrawlForge scraping and extraction tools in the playground, then start free with 1,000 credits.

1,000 free credits • One-time • No credit card required

Tags

  • market research
  • pay as you go
  • pricing
  • credits
  • search_web
  • scrape
  • deep_research

About the Author

CrawlForge Team

Engineering Team

Building the most comprehensive web scraping MCP server. We create tools that help developers extract, analyze, and transform web data for AI applications.

Newsletter

Stay updated with the latest insights

Get tutorials, product updates, and web scraping tips delivered to your inbox.

No spam. Unsubscribe anytime.

FAQ

Frequently asked questions

01How do I estimate what a research question will cost?

Add up the calls it makes at their published prices. A search is 5 credits per query, a scrape with a question is 3 per page, map_site is 2 per domain, serp_rank is 5 per keyword and deep_research is 10 per run. A 30-vendor pricing study with three searches and one deep_research run is about 115 credits, roughly $0.35 at the 1,000-credit pack rate. The total is a ceiling: searches that fail and pages that fail to load are not charged.

02What happens if my balance runs out halfway through a study?

Each call that the balance cannot cover returns 402 INSUFFICIENT_CREDITS and charges nothing, so the study stops rather than going into debt. Calls that already succeeded keep their results. Auto-recharge is off by default, and when it is turned on it runs against a monthly spend cap you set.

03Does CrawlForge provide market size, survey or panel data?

No. CrawlForge holds no proprietary dataset. It fetches public pages you choose, such as competitors' pricing, product and careers pages, and search results, and returns what they say. Surveys, panels, syndicated reports and traffic estimates come from research vendors. CrawlForge handles the desk research.

Keep reading

Related Articles