oxylabs-ai-studio


Nameoxylabs-ai-studio JSON
Version 0.2.8 PyPI version JSON
download
home_pageNone
SummaryOxylabs studio python sdk
upload_time2025-07-11 09:35:22
maintainerNone
docs_urlNone
authorNone
requires_python>=3.10
licenseNone
keywords ai oxylabs studio
VCS
bugtrack_url
requirements No requirements were recorded.
Travis-CI No Travis.
coveralls test coverage No coveralls.
            # OxyLabs AI Studio Python SDK

A simple Python SDK for interacting with the Oxy Studio AI API.

## Requirements
- python 3.10 and above
- API KEY

## Installation

```bash
pip install oxylabs-ai-studio
```

## Usage

### Crawl (`AiCrawler.crawl`)

```python

from oxylabs_ai_studio.apps.ai_crawler import AiCrawler

crawler = AiCrawler(api_key="<API_KEY>")

url = "https://oxylabs.io"
result = crawler.crawl(
    url=url,
    user_prompt="Find all pages with proxy products pricing",
    output_format="markdown",
    render_javascript=False,
    return_sources_limit=3,
    geo_location="US",
)
print("Results:")
for item in result.data:
    print(item, "\n")

```

**Parameters:**
- `url` (str): Starting URL to crawl (**required**)
- `user_prompt` (str): Natural language prompt to guide extraction (**required**)
- `output_format` (Literal["json", "markdown"]): Output format (default: "markdown")
- `schema` (dict | None): OpenAPI schema for structured extraction (required if output_format is "json")
- `render_javascript` (bool): Render JavaScript (default: False)
- `return_sources_limit` (int): Max number of sources to return (default: 25)
- `geo_location` (str): proxy location in ISO2 format.

### Scrape (`AiScraper.scrape`)

```python
from oxylabs_ai_studio.apps.ai_scraper import AiScraper

scraper = AiScraper(api_key="<API_KEY>")

schema = scraper.generate_schema(prompt="want to parse developer, platform, type, price game title, genre (array) and description")
print(f"Generated schema: {schema}")

url = "https://sandbox.oxylabs.io/products/3"
result = scraper.scrape(
    url=url,
    output_format="json",
    schema=schema,
    render_javascript=False,
)
print(result)

```
**Parameters:**
- `url` (str): Target URL to scrape (**required**)
- `output_format` (Literal["json", "markdown"]): Output format (default: "markdown")
- `schema` (dict | None): OpenAPI schema for structured extraction (required if output_format is "json")
- `render_javascript` (bool): Render JavaScript (default: False)
- `geo_location` (str): proxy location in ISO2 format.

### Browser Agent (`BrowserAgent.run`)

```python
from oxylabs_ai_studio.apps.browser_agent import BrowserAgent

browser_agent = BrowserAgent(api_key="<API_KEY>")

schema = browser_agent.generate_schema(
    prompt="game name, platform, review stars and price"
)
print("schema: ", schema)

prompt = "Find if there is game 'super mario odyssey' in the store. If there is, find the price. Use search bar to find the game."
url = "https://sandbox.oxylabs.io/"
result = browser_agent.run(
    url=url,
    user_prompt=prompt,
    output_format="json",
    schema=schema,
)
print(result.data)
```

**Parameters:**
- `url` (str): Starting URL to browse (**required**)
- `user_prompt` (str): Natural language prompt for extraction (**required**)
- `output_format` (Literal["json", "markdown", "html", "screenshot"]): Output format (default: "markdown")
- `schema` (dict | None): OpenAPI schema for structured extraction (required if output_format is "json")
- `geo_location` (str): proxy location in ISO2 format.

### Search (`AiSearch.search`)

```python
from oxylabs_ai_studio.apps.ai_search import AiSearch


search = AiSearch(api_key="<API_KEY>")

query = "lasagna recipe"
result = search.search(
    query=query,
    limit=5,
    render_javascript=False,
    return_content=True,
)
print(result.data)
```

**Parameters:**
- `query` (str): What to search for (**required**)
- `limit` (int): Maximum number of results to return (default: 10, maximum: 50)
- `render_javascript` (bool): Render JavaScript (default: False)
- `return_content` (bool): Whether to return markdown contents in results (default: True)
- `geo_location` (str): search proxy location in ISO2 format.

---
See the [examples](https://github.com/oxylabs/oxylabs-ai-studio-py/tree/main/examples) folder for usage examples of each method. Each method has corresponding async version.

            

Raw data

            {
    "_id": null,
    "home_page": null,
    "name": "oxylabs-ai-studio",
    "maintainer": null,
    "docs_url": null,
    "requires_python": ">=3.10",
    "maintainer_email": null,
    "keywords": "ai, oxylabs, studio",
    "author": null,
    "author_email": null,
    "download_url": "https://files.pythonhosted.org/packages/d4/bc/5a6b6bd58acb8e2fe02e6af800b84571918b78f2320354925054f18da5aa/oxylabs_ai_studio-0.2.8.tar.gz",
    "platform": null,
    "description": "# OxyLabs AI Studio Python SDK\n\nA simple Python SDK for interacting with the Oxy Studio AI API.\n\n## Requirements\n- python 3.10 and above\n- API KEY\n\n## Installation\n\n```bash\npip install oxylabs-ai-studio\n```\n\n## Usage\n\n### Crawl (`AiCrawler.crawl`)\n\n```python\n\nfrom oxylabs_ai_studio.apps.ai_crawler import AiCrawler\n\ncrawler = AiCrawler(api_key=\"<API_KEY>\")\n\nurl = \"https://oxylabs.io\"\nresult = crawler.crawl(\n    url=url,\n    user_prompt=\"Find all pages with proxy products pricing\",\n    output_format=\"markdown\",\n    render_javascript=False,\n    return_sources_limit=3,\n    geo_location=\"US\",\n)\nprint(\"Results:\")\nfor item in result.data:\n    print(item, \"\\n\")\n\n```\n\n**Parameters:**\n- `url` (str): Starting URL to crawl (**required**)\n- `user_prompt` (str): Natural language prompt to guide extraction (**required**)\n- `output_format` (Literal[\"json\", \"markdown\"]): Output format (default: \"markdown\")\n- `schema` (dict | None): OpenAPI schema for structured extraction (required if output_format is \"json\")\n- `render_javascript` (bool): Render JavaScript (default: False)\n- `return_sources_limit` (int): Max number of sources to return (default: 25)\n- `geo_location` (str): proxy location in ISO2 format.\n\n### Scrape (`AiScraper.scrape`)\n\n```python\nfrom oxylabs_ai_studio.apps.ai_scraper import AiScraper\n\nscraper = AiScraper(api_key=\"<API_KEY>\")\n\nschema = scraper.generate_schema(prompt=\"want to parse developer, platform, type, price game title, genre (array) and description\")\nprint(f\"Generated schema: {schema}\")\n\nurl = \"https://sandbox.oxylabs.io/products/3\"\nresult = scraper.scrape(\n    url=url,\n    output_format=\"json\",\n    schema=schema,\n    render_javascript=False,\n)\nprint(result)\n\n```\n**Parameters:**\n- `url` (str): Target URL to scrape (**required**)\n- `output_format` (Literal[\"json\", \"markdown\"]): Output format (default: \"markdown\")\n- `schema` (dict | None): OpenAPI schema for structured extraction (required if output_format is \"json\")\n- `render_javascript` (bool): Render JavaScript (default: False)\n- `geo_location` (str): proxy location in ISO2 format.\n\n### Browser Agent (`BrowserAgent.run`)\n\n```python\nfrom oxylabs_ai_studio.apps.browser_agent import BrowserAgent\n\nbrowser_agent = BrowserAgent(api_key=\"<API_KEY>\")\n\nschema = browser_agent.generate_schema(\n    prompt=\"game name, platform, review stars and price\"\n)\nprint(\"schema: \", schema)\n\nprompt = \"Find if there is game 'super mario odyssey' in the store. If there is, find the price. Use search bar to find the game.\"\nurl = \"https://sandbox.oxylabs.io/\"\nresult = browser_agent.run(\n    url=url,\n    user_prompt=prompt,\n    output_format=\"json\",\n    schema=schema,\n)\nprint(result.data)\n```\n\n**Parameters:**\n- `url` (str): Starting URL to browse (**required**)\n- `user_prompt` (str): Natural language prompt for extraction (**required**)\n- `output_format` (Literal[\"json\", \"markdown\", \"html\", \"screenshot\"]): Output format (default: \"markdown\")\n- `schema` (dict | None): OpenAPI schema for structured extraction (required if output_format is \"json\")\n- `geo_location` (str): proxy location in ISO2 format.\n\n### Search (`AiSearch.search`)\n\n```python\nfrom oxylabs_ai_studio.apps.ai_search import AiSearch\n\n\nsearch = AiSearch(api_key=\"<API_KEY>\")\n\nquery = \"lasagna recipe\"\nresult = search.search(\n    query=query,\n    limit=5,\n    render_javascript=False,\n    return_content=True,\n)\nprint(result.data)\n```\n\n**Parameters:**\n- `query` (str): What to search for (**required**)\n- `limit` (int): Maximum number of results to return (default: 10, maximum: 50)\n- `render_javascript` (bool): Render JavaScript (default: False)\n- `return_content` (bool): Whether to return markdown contents in results (default: True)\n- `geo_location` (str): search proxy location in ISO2 format.\n\n---\nSee the [examples](https://github.com/oxylabs/oxylabs-ai-studio-py/tree/main/examples) folder for usage examples of each method. Each method has corresponding async version.\n",
    "bugtrack_url": null,
    "license": null,
    "summary": "Oxylabs studio python sdk",
    "version": "0.2.8",
    "project_urls": null,
    "split_keywords": [
        "ai",
        " oxylabs",
        " studio"
    ],
    "urls": [
        {
            "comment_text": null,
            "digests": {
                "blake2b_256": "319921d76e9b49b3ba5ca18d9d5fdd7d145f7f34e6392a8f073eee447cdbbfeb",
                "md5": "2376e1b89661da41559d88c6cf83cceb",
                "sha256": "267490e6d6b490f3b4989e7bdd4ceef0ccb74f51fbade713cfc063ba28507076"
            },
            "downloads": -1,
            "filename": "oxylabs_ai_studio-0.2.8-py3-none-any.whl",
            "has_sig": false,
            "md5_digest": "2376e1b89661da41559d88c6cf83cceb",
            "packagetype": "bdist_wheel",
            "python_version": "py3",
            "requires_python": ">=3.10",
            "size": 11719,
            "upload_time": "2025-07-11T09:35:21",
            "upload_time_iso_8601": "2025-07-11T09:35:21.293345Z",
            "url": "https://files.pythonhosted.org/packages/31/99/21d76e9b49b3ba5ca18d9d5fdd7d145f7f34e6392a8f073eee447cdbbfeb/oxylabs_ai_studio-0.2.8-py3-none-any.whl",
            "yanked": false,
            "yanked_reason": null
        },
        {
            "comment_text": null,
            "digests": {
                "blake2b_256": "d4bc5a6b6bd58acb8e2fe02e6af800b84571918b78f2320354925054f18da5aa",
                "md5": "e0f892e0d6780669355de9f247b005fe",
                "sha256": "09517fc4d8ab147afb155fed2b5e2437f574a54a5b03950fc9ee4449991dc90f"
            },
            "downloads": -1,
            "filename": "oxylabs_ai_studio-0.2.8.tar.gz",
            "has_sig": false,
            "md5_digest": "e0f892e0d6780669355de9f247b005fe",
            "packagetype": "sdist",
            "python_version": "source",
            "requires_python": ">=3.10",
            "size": 46625,
            "upload_time": "2025-07-11T09:35:22",
            "upload_time_iso_8601": "2025-07-11T09:35:22.686065Z",
            "url": "https://files.pythonhosted.org/packages/d4/bc/5a6b6bd58acb8e2fe02e6af800b84571918b78f2320354925054f18da5aa/oxylabs_ai_studio-0.2.8.tar.gz",
            "yanked": false,
            "yanked_reason": null
        }
    ],
    "upload_time": "2025-07-11 09:35:22",
    "github": false,
    "gitlab": false,
    "bitbucket": false,
    "codeberg": false,
    "lcname": "oxylabs-ai-studio"
}
        
Elapsed time: 1.81988s