Web Form Extractor - Fields, Method & Action from URL avatar

Web Form Extractor - Fields, Method & Action from URL

Pricing

from $0.80 / 1,000 scanned pages

Go to Apify Store
Web Form Extractor - Fields, Method & Action from URL

Web Form Extractor - Fields, Method & Action from URL

Extract all forms from any page with action, method, enctype and every field (name/type), plus password/email/file flags. Single or bulk. $0.001 per page. Failed fetches are recorded free.

Pricing

from $0.80 / 1,000 scanned pages

Rating

0.0

(0)

Developer

Broke to Built

Broke to Built

Maintained by Community

Actor stats

0

Bookmarked

3

Total users

2

Monthly active users

a day ago

Last modified

Share

Web Form Extractor — every form's fields, method & action from a URL

Send a URL, get every form on the page with its action, method, encoding and every field (name, type, required, placeholder).

You give itYou get backYou pay (Free plan)
One URL or a list of up to 25Form count, and per form: action, method, enctype, field list, has password/email/file flags$0.001 per page

Pay per result only: no subscription, no start fee. An unreachable URL returns {ok:false, error} and is not charged. Paid Apify plans get Store discounts on the price above.

Try it in one click

The input form is already filled in with this example. Press Start and you get the output below.

{
"url": "https://httpbin.org/forms/post"
}

Real output from that exact input (run on 2026-09-24; long arrays shortened to a few entries and long text cut for display):

[
{
"ok": true,
"url": "https://httpbin.org/forms/post",
"requestedUrl": "https://httpbin.org/forms/post",
"status": 200,
"formCount": 1,
"forms": [
{
"action": "https://httpbin.org/post",
"method": "post",
"enctype": "application/x-www-form-urlencoded",
"id": "",
"name": "",
"fieldCount": 12,
"hasPassword": false,
"hasEmail": true,
"hasFile": false,
"fields": [
{
"name": "custname",
"type": "text",
"required": false,
"placeholder": "",
"value": ""
},
{
"name": "custtel",
"type": "tel",
"required": false,
"placeholder": "",
"value": ""
}
]
}
]
}
]

Extract all forms on a web page with their action, method, enctype, and every field (name, type, required, placeholder, value) — plus quick flags for hasPassword, hasEmail, and hasFile. Built for security review, QA/automation mapping, and lead-form auditing. Single URL or bulk.

$0.001 per page. Failed fetches are recorded free.

What you get

  • One record per page, listing every <form>.
  • Per form: action, method, enctype, id, name, fieldCount, and a fields array.
  • Per field: name, type, required, placeholder, value.
  • Convenience flags: hasPassword, hasEmail, hasFile.
  • Fail-soft: an unreachable URL returns {ok:false, error} and is never charged.

Input

{ "url": "https://github.com/login", "urls": ["https://example.com/contact"], "maxUrls": 25 }

Output (real run, 2026-08-07)

{
"ok": true,
"url": "https://github.com/login",
"status": 200,
"formCount": 1,
"forms": [
{
"action": "https://github.com/session",
"method": "post",
"enctype": "application/x-www-form-urlencoded",
"fieldCount": 16,
"hasPassword": true,
"hasEmail": false,
"hasFile": false,
"fields": [
{ "name": "login", "type": "text", "required": true, "placeholder": "", "value": "" },
{ "name": "password", "type": "password", "required": true }
]
}
]
}

Pricing — $0.001 per page

Priced at roughly 5× our measured compute cost per page. No directly comparable generic HTML-form extractor was found on the Apify Store on 2026-08-07 (the closest listings are specialized SEC-filing scrapers and full web agents), so there is no competitor price to quote.

Limits (honest ones)

  • Reads the server HTML; forms injected by JavaScript after load are not seen (no headless browser).
  • Field action is absolutized to the page URL when relative.
  • maxUrls capped per run.

FAQ

  • Does it submit forms? No — it only reads and describes them.
  • Does it run JavaScript? No — server HTML only.
  • Can it flag login/upload forms? Yes — hasPassword, hasEmail, and hasFile make those easy to filter.
  • What about a dead URL? You get an {ok:false, error} record, uncharged.

Use from code or AI agents

curl -X POST "https://api.apify.com/v2/acts/EliAI~webpage-forms-extractor/runs?token=YOUR_APIFY_TOKEN" \
-H 'content-type: application/json' \
-d '{"url":"https://github.com/login"}'

Callable as an agent tool through the Apify MCP server (mcp.apify.com).

For AI agents

This Actor is built to be called by software, not just by people.

  • Mount it directly as an MCP tool — no Store search, no ranking, just this one tool: https://mcp.apify.com/?actors=eliai/webpage-forms-extractor
  • Or call it over HTTP and get the results in the same request: POST https://api.apify.com/v2/acts/eliai~webpage-forms-extractor/run-sync-get-dataset-items
  • Pay with x402, without an Apify account. This Actor is whitelisted for agentic payments, so an agent holding USDC on Base can buy a prepaid token and spend it here. The minimum purchase is $1, the token balance is an absolute spending cap, and it expires 14 days after purchase.
  • Costs are predictable before you call. Pricing is pay-per-event (see Pricing above), so an agent can budget a run in advance instead of discovering the bill afterwards.
  • Send only the field you mean. If you pass the bulk field, it is used on its own; the single-value field is a fallback, never merged into your request. You are charged for the items you sent and nothing else.

Who uses it

  • Penetration testers listing a site's forms, their actions and password or file fields
  • QA automation engineers mapping form field names before writing end-to-end tests
  • Marketing ops teams auditing lead forms across landing pages for required fields
  • Accessibility reviewers finding inputs without names or placeholders
  • Scraper developers learning a form's method and fields before automating submissions

Changelog

  • 2026-09-24: New summary at the top of this page: what you send, what you get, the price, and a real output from the prefilled example.