Name | oxylabs-ai-studio JSON |
Version |
0.2.12
JSON |
| download |
home_page | None |
Summary | Oxylabs studio python sdk |
upload_time | 2025-08-14 11:31:28 |
maintainer | None |
docs_url | None |
author | None |
requires_python | >=3.10 |
license | None |
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
[](https://aistudio.oxylabs.io/?utm_source=877&utm_medium=affiliate&groupid=877&utm_content=ai-studio-py-github&transaction_id=102f49063ab94276ae8f116d224b67)
A simple Python SDK for seamlessly interacting with [Oxylabs AI Studio API](https://aistudio.oxylabs.io/) services, including AI-Scraper, AI-Crawler, AI-Browser-Agent and other data extraction tools.
## 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.
### Map (`AiMap.map`)
```python
from oxylabs_ai_studio.apps.ai_map import AiMap
ai_map = AiMap(api_key="<API_KEY>")
payload = {
"url": "https://career.oxylabs.io",
"user_prompt": "job ad pages",
"return_sources_limit": 10,
"geo_location": None,
"render_javascript": False,
}
result = ai_map.map(**payload)
print(result.data)
```
**Parameters:**
- `url` (str): Starting URL to crawl (**required**)
- `user_prompt` (str): Natural language prompt to guide extraction (**required**)
- `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.
---
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/75/40/d22e4c3eb3372b72cad3a0d18c32f5646c1c952f2c33d1b1409656baf468/oxylabs_ai_studio-0.2.12.tar.gz",
"platform": null,
"description": "# OxyLabs AI Studio Python SDK\n\n[](https://aistudio.oxylabs.io/?utm_source=877&utm_medium=affiliate&groupid=877&utm_content=ai-studio-py-github&transaction_id=102f49063ab94276ae8f116d224b67) \n\nA simple Python SDK for seamlessly interacting with [Oxylabs AI Studio API](https://aistudio.oxylabs.io/) services, including AI-Scraper, AI-Crawler, AI-Browser-Agent and other data extraction tools.\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### Map (`AiMap.map`)\n```python\nfrom oxylabs_ai_studio.apps.ai_map import AiMap\n\n\nai_map = AiMap(api_key=\"<API_KEY>\")\npayload = {\n \"url\": \"https://career.oxylabs.io\",\n \"user_prompt\": \"job ad pages\",\n \"return_sources_limit\": 10,\n \"geo_location\": None,\n \"render_javascript\": False,\n}\nresult = ai_map.map(**payload)\nprint(result.data)\n```\n**Parameters:**\n- `url` (str): Starting URL to crawl (**required**)\n- `user_prompt` (str): Natural language prompt to guide extraction (**required**)\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---\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.12",
"project_urls": null,
"split_keywords": [
"ai",
" oxylabs",
" studio"
],
"urls": [
{
"comment_text": null,
"digests": {
"blake2b_256": "89e05d5c450016d8ed4ad23178e71680e695df47a63ddece910d6184bfd89390",
"md5": "a073defd3bc3bb819645005cb97299e4",
"sha256": "e1e1fe03d8108764c5e79afe706b83255111b776d09ca021939096a79b4ab6fd"
},
"downloads": -1,
"filename": "oxylabs_ai_studio-0.2.12-py3-none-any.whl",
"has_sig": false,
"md5_digest": "a073defd3bc3bb819645005cb97299e4",
"packagetype": "bdist_wheel",
"python_version": "py3",
"requires_python": ">=3.10",
"size": 13829,
"upload_time": "2025-08-14T11:31:27",
"upload_time_iso_8601": "2025-08-14T11:31:27.180868Z",
"url": "https://files.pythonhosted.org/packages/89/e0/5d5c450016d8ed4ad23178e71680e695df47a63ddece910d6184bfd89390/oxylabs_ai_studio-0.2.12-py3-none-any.whl",
"yanked": false,
"yanked_reason": null
},
{
"comment_text": null,
"digests": {
"blake2b_256": "7540d22e4c3eb3372b72cad3a0d18c32f5646c1c952f2c33d1b1409656baf468",
"md5": "4cb35df0fd9c0d4677c62a07d39ab0eb",
"sha256": "631162a1e9e0ef28720866e7b22617352ffbf86597c9168a9e40d9f39aaccb92"
},
"downloads": -1,
"filename": "oxylabs_ai_studio-0.2.12.tar.gz",
"has_sig": false,
"md5_digest": "4cb35df0fd9c0d4677c62a07d39ab0eb",
"packagetype": "sdist",
"python_version": "source",
"requires_python": ">=3.10",
"size": 1414704,
"upload_time": "2025-08-14T11:31:28",
"upload_time_iso_8601": "2025-08-14T11:31:28.946850Z",
"url": "https://files.pythonhosted.org/packages/75/40/d22e4c3eb3372b72cad3a0d18c32f5646c1c952f2c33d1b1409656baf468/oxylabs_ai_studio-0.2.12.tar.gz",
"yanked": false,
"yanked_reason": null
}
],
"upload_time": "2025-08-14 11:31:28",
"github": false,
"gitlab": false,
"bitbucket": false,
"codeberg": false,
"lcname": "oxylabs-ai-studio"
}