Skip to main content

Python SDK for the Manifest API — structured action manifests for AI agents

Project description

manifest-api

Stop guessing selectors. Manifest tells your agent what's clickable, fillable, and submittable on any page.

Python SDK for the Manifest API — extracts structured action manifests from web pages so AI agents know what they can do, not just what's on screen.

Raw browser access Content extraction Manifest
Gives agents a browser
Returns page content
Returns available actions
Required fields, input types
Survives UI redesigns

Install

pip install manifest-api

Quickstart

Sync

from manifest_api import ManifestClient

client = ManifestClient(api_key="your-key")  # or set MANIFEST_API_KEY env var
manifest = client.get("https://example.com")

print(manifest.current_page_state)
print(manifest.actions)

# Convenience helpers
action = manifest.action("submit-form")
inputs = manifest.actions_of_type("input")
required = manifest.required_actions

Async

import asyncio
from manifest_api import AsyncManifestClient

async def main():
    async with AsyncManifestClient(api_key="your-key") as client:
        manifest = await client.get("https://example.com")
        print(manifest.current_page_state)

asyncio.run(main())

All methods

# Both ManifestClient and AsyncManifestClient expose:
manifest = client.get("https://example.com")   # POST /manifest → Manifest
health   = client.health()                      # GET  /health → dict
valid    = client.session_valid()               # GET  /session-status → bool

Manifest helpers

manifest.action("id")              # → Action | None
manifest.actions_of_type("input")  # → list[Action]
manifest.required_actions          # → list[Action]

Action types

button · input · textarea · select · checkbox · radio · other

Error handling

from manifest_api import AuthenticationError, RateLimitError, APIError

try:
    manifest = client.get("https://example.com")
except AuthenticationError:
    print("Check your API key")
except RateLimitError:
    print("Slow down — rate limit hit")
except APIError as e:
    print(f"Server error {e.status_code}")

Docs

https://omfang.io/docs

Project details


Download files

Download the file for your platform. If you're not sure which to choose, learn more about installing packages.

Source Distribution

manifest_api-0.1.1.tar.gz (15.2 kB view details)

Uploaded Source

Built Distribution

If you're not sure about the file name format, learn more about wheel file names.

manifest_api-0.1.1-py3-none-any.whl (4.4 kB view details)

Uploaded Python 3

File details

Details for the file manifest_api-0.1.1.tar.gz.

File metadata

  • Download URL: manifest_api-0.1.1.tar.gz
  • Upload date:
  • Size: 15.2 kB
  • Tags: Source
  • Uploaded using Trusted Publishing? No
  • Uploaded via: twine/6.2.0 CPython/3.13.1

File hashes

Hashes for manifest_api-0.1.1.tar.gz
Algorithm Hash digest
SHA256 4f56c1cd42fa55036c31d61d9516fbb4534a77612bf51a1d6f948fd766ed9b13
MD5 608307f24f00d8377f4619bc171ed250
BLAKE2b-256 14550b6a344b49bc58fa3f058ffcdad43c7f70e6bf37e589dddd69af9bf3e1e7

See more details on using hashes here.

File details

Details for the file manifest_api-0.1.1-py3-none-any.whl.

File metadata

  • Download URL: manifest_api-0.1.1-py3-none-any.whl
  • Upload date:
  • Size: 4.4 kB
  • Tags: Python 3
  • Uploaded using Trusted Publishing? No
  • Uploaded via: twine/6.2.0 CPython/3.13.1

File hashes

Hashes for manifest_api-0.1.1-py3-none-any.whl
Algorithm Hash digest
SHA256 be06d487e630621ccf5e1823432a8585050f97cd2001c1c51c847d2d65a65e52
MD5 d36c0863072d47b6895f3c5b34682e10
BLAKE2b-256 edea2c41939eec684ec16e17e1b9847941873e420b24d4c0fb345574b39d3848

See more details on using hashes here.

Supported by

AWS Cloud computing and Security Sponsor Datadog Monitoring Depot Continuous Integration Fastly CDN Google Download Analytics Pingdom Monitoring Sentry Error logging StatusPage Status page