Request Data in Hono

From the Hono cheat sheet · Context & Request · verified Jul 2026

Request Data

Access query params, headers, body, and more

typescript
// Query parameters
app.get('/search', (c) => {
  const query = c.req.query('q')        // single
  const all = c.req.queries('tags')     // array
  return c.json({ query, all })
})

// Headers
app.get('/auth', (c) => {
  const auth = c.req.header('Authorization')
  const userAgent = c.req.header('User-Agent')
  return c.json({ auth, userAgent })
})

// Body parsing
app.post('/users', async (c) => {
  const body = await c.req.json()       // JSON
  const form = await c.req.formData()   // FormData
  const text = await c.req.text()       // Raw text
  return c.json(body)
})
💡 c.req.query() for single, c.req.queries() for arrays
⚡ Body methods are async: await c.req.json()
📌 Headers are case-insensitive
🎯 Use getCookie from "hono/cookie" for cookies

More Hono tasks

Back to the full Hono cheat sheet