<img src="/images/get-api-key.png" alt="Get Skyvern API key" />
Sign up at [app.skyvern.com](https://app.skyvern.com) and go to [Settings](https://app.skyvern.com/settings) to copy your API key.
When you make API calls, Skyvern spins up a cloud browser, executes your task with AI, and returns the results. You can watch the browser live at any time.
## Step 2: Install the SDK
<CodeGroup>
```bash Python
pip install skyvern
```
```bash TypeScript
npm install @skyvern/client
```
</CodeGroup>
<Accordion title="Troubleshooting: Python version errors">
The Skyvern SDK requires Python 3.11, 3.12, or 3.13. If you encounter version errors, try using pipx:
```bash
pipx install skyvern
```
pipx installs Python packages in isolated environments while making them globally available.
</Accordion>
## Step 3: Run your first task
Let's scrape the title of the #1 post on Hacker News. You only need two parameters:
- **`prompt`** — Natural language instructions for what the AI should do. Be specific about the data you want extracted.
- **`url`** — The starting page. Skyvern's AI will navigate from here based on your prompt.
The SDK uses async/await because Skyvern spins up a cloud browser and executes your task remotely, which can take 30-60 seconds.
The `output` contains whatever data the AI extracted based on your prompt. The `app_url` links to the Cloud UI where you can view the full run details.
## Step 6: Watch the recording
Every task is recorded. There are two ways to access recordings:
### From the API response
The `recording_url` field is included in every completed run response:
Navigate to [Runs](https://app.skyvern.com/runs) and click on your run to see the Recording tab.
<img src="/images/view-recording.png" alt="Recording tab in Skyvern Cloud" />
### What you'll see
- **Live browser view** — Watch the AI navigate in real-time
- **Recording** — Full video replay of the session
- **Actions** — Step-by-step breakdown with screenshots
- **AI Reasoning** — See why the AI made each decision
This is invaluable for debugging and understanding how Skyvern interprets your prompts.
---
## Run with a local browser
You can run Skyvern with a browser on your own machine. This is useful for development, debugging, or automating internal tools on your local network.
**Prerequisites:**
- Skyvern SDK installed (`pip install skyvern`)
- PostgreSQL database (local install or Docker)
- An LLM API key (OpenAI, Anthropic, Azure OpenAI, Gemini, Ollama, or any OpenAI-compatible provider)
<Note>
Docker is optional. If you have PostgreSQL installed locally, Skyvern will detect and use it automatically. Use `skyvern init --no-postgres` to skip database setup entirely if you're managing PostgreSQL separately.
<img src="/images/skyvern-run-server.gif" alt="Skyvern local server logs" />
</p>
### Run a task locally
The only difference from cloud is the `base_url` parameter pointing to your local server. The API is identical, so the same code works in both environments — develop locally, deploy to cloud without changes.
```python
import os
import asyncio
from skyvern import Skyvern
async def main():
client = Skyvern(
base_url="http://localhost:8000",
api_key=os.getenv("SKYVERN_API_KEY")
)
result = await client.run_task(
prompt="Go to news.ycombinator.com and get the title of the #1 post",
url="https://news.ycombinator.com",
)
print(f"Run ID: {result.run_id}")
asyncio.run(main())
```
A browser window will open on your machine (if you chose headful mode). Recordings and logs are saved in the directory where you started the server.