> ## Documentation Index
> Fetch the complete documentation index at: https://skyvern.com/docs/llms.txt
> Use this file to discover all available pages before exploring further.

# Complete Example

```python Python theme={null}
import asyncio
from skyvern import Skyvern

async def main():
    skyvern = Skyvern(api_key="YOUR_API_KEY")
    browser = await skyvern.launch_cloud_browser()
    page = await browser.get_working_page()

    # Navigate with Playwright
    await page.goto("https://app.example.com")

    # Login with AI
    await page.agent.login(
        credential_type="skyvern",
        credential_id="cred_abc123",
    )

    # Mix Playwright and AI
    await page.click("#billing-tab")
    data = await page.extract(
        "Extract all invoice numbers and amounts",
        schema={
            "type": "array",
            "items": {
                "type": "object",
                "properties": {
                    "invoice_number": {"type": "string"},
                    "amount": {"type": "string"},
                },
            },
        },
    )
    print(data)

    await browser.close()

asyncio.run(main())
```

```typescript TypeScript theme={null}
import { Skyvern } from "@skyvern/client";

const skyvern = new Skyvern({ apiKey: "YOUR_API_KEY" });
const browser = await skyvern.launchCloudBrowser();
const page = await browser.getWorkingPage();

// Navigate with Playwright
await page.goto("https://app.example.com");

// Login with AI
await page.agent.login("skyvern", { credentialId: "cred_abc123" });

// Extract data with AI
const data = await page.extract({
  prompt: "Extract all invoice numbers and amounts from the billing page",
  schema: {
    type: "array",
    items: {
      type: "object",
      properties: {
        invoice_number: { type: "string" },
        amount: { type: "string" },
      },
    },
  },
});
console.log(data);

// Clean up
await browser.close();
```


This documentation is built and hosted on [Mintlify](https://mintlify.com), a developer documentation platform.