Show HN: Manifest – a cheap fingerprint endpoint for detecting page changes

Maxnordstrom1 pts0 comments

Manifest – The action layer for AI agents | omfang

The internet, readable by agents.

Manifest turns any URL into a structured map of what an AI agent can actually do on a page - every button, form, and input, with the fields it needs to fill and what's required before it can move on.

Get your API key

Read the docs

Try it live

The problem

Give an AI agent a browser, and it can see a webpage. Give it a scraper, and it can read one. Neither tells it what it's allowed to do there.<br>Today, agents either take a screenshot and guess, or a developer hand-writes selectors that break the next time the page ships a redesign. There's no layer that tells an agent: here are the actions on this page, here's what each one needs, here's what's required.<br>That's the gap Manifest fills.

How it works

Manifest visits a URL, reads its accessibility tree the same way a screen reader would, and cross-references it against the page's actual DOM for the details accessibility trees miss — required fields, input types, placeholders, disabled states. That combined picture is translated into a clean JSON action manifest: every button, form, and input on the page, described in terms an agent can reason about and act on.

Manifest visits a URL, reads its accessibility tree the same way a screen reader would, and cross-references it against the page's actual DOM for the details accessibility trees miss — required fields, input types, placeholders, disabled states. That combined picture is translated into a clean JSON action manifest: every button, form, and input on the page, described in terms an agent can reason about and act on.

URL → accessibility tree → DOM extractors → structured JSON manifest

URL → accessibility tree → DOM extractors → structured JSON manifest

No screenshots. No hand-maintained selectors. No fragile CSS paths that snap the moment a page redesigns.

No screenshots. No hand-maintained selectors. No fragile CSS paths that snap the moment a page redesigns.

What you get back

POST /manifest<br>{ "url": "https://example.com" }

POST /manifest<br>{ "url": "https://example.com" }

"url": "https://example.com",<br>"current_page_state": "Contact page with a message form",<br>"actions": [<br>"id": "submit-form",<br>"label": "Submit",<br>"type": "button",<br>"description": "Submits the contact form",<br>"required": false<br>},<br>"id": "email-input",<br>"label": "Email",<br>"type": "input",<br>"description": "Email address field",<br>"required": true<br>],<br>"navigation": [<br>{ "label": "Home", "url": "/" }

"url": "https://example.com",<br>"current_page_state": "Contact page with a message form",<br>"actions": [<br>"id": "submit-form",<br>"label": "Submit",<br>"type": "button",<br>"description": "Submits the contact form",<br>"required": false<br>},<br>"id": "email-input",<br>"label": "Email",<br>"type": "input",<br>"description": "Email address field",<br>"required": true<br>],<br>"navigation": [<br>{ "label": "Home", "url": "/" }

Why not just use a browser tool or a scraper?

Browser access

Browser access

Content extraction

Content extraction

Manifest

Manifest

Gives an agent a browser

Gives an agent a browser

Returns page content

Returns page content

Returns available actions

Returns available actions

Agent can reason about the output

Agent can reason about the output

Partially

Survives UI redesigns

Survives UI redesigns

Required fields & input types

Required fields & input types

Browser tools get an agent onto the page. Content tools get it the text. Manifest is the layer that tells it what to click, fill, and submit — and what's mandatory before it can move on.

Browser tools get an agent onto the page. Content tools get it the text. Manifest is the layer that tells it what to click, fill, and submit — and what's mandatory before it can move on.

Pricing

Pricing

Plan

Plan

Price

Price

Calls/ Month

Calls/ Month

Overage

Overage

Free

Free

$0

$0

50

50

Starter

Starter

$29/ mo

$29/ mo

1,000

1,000

$0.08/ call

$0.08/ call

Pro

Pro

$79/ mo

$79/ mo

5,000

5,000

$0.05/ call

$0.05/ call

Enterprice

Enterprice

Custom

Custom

Custom

Custom

Custom

Custom

Cached responses are always fast and never count against your rate limit the same way a cold request does — most agents hit the same handful of URLs repeatedly, so cache hits keep costs predictable.

Cached responses are always fast and never count against your rate limit the same way a cold request does — most agents hit the same handful of URLs repeatedly, so cache hits keep costs predictable.

Start free

Read the docs

Follow us on social media

Instagram

Facebook

LinkedIn

Contact us

Contact us

Learn more about omfang

About us

How it works

Legal

Privacy

Terms of Service

Follow us on social media

Instagram

Facebook

LinkedIn

Contact us

Contact us

Learn more about omfang

About us

How it works

Legal

Privacy

Terms of Service

Follow us on social media

Instagram

Facebook

LinkedIn

Contact us

Contact us

Learn more about omfang

About us

How it works

Legal

Privacy

Terms of Service

manifest page agent input required contact

Related Articles