Oxylabs studio python sdk
Project description
OxyLabs AI Studio Python SDK
A simple Python SDK for seamlessly interacting with Oxylabs AI Studio API services, including AI-Scraper, AI-Crawler, AI-Browser-Agent and other data extraction tools.
Requirements
- python 3.10 and above
- API KEY
Installation
pip install oxylabs-ai-studio
Usage
Crawl (AiCrawler.crawl)
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)
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)
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)
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)
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 folder for usage examples of each method. Each method has corresponding async version.
Project details
Release history Release notifications | RSS feed
Download files
Download the file for your platform. If you're not sure which to choose, learn more about installing packages.
Source Distribution
Built Distribution
Filter files by name, interpreter, ABI, and platform.
If you're not sure about the file name format, learn more about wheel file names.
Copy a direct link to the current filters
File details
Details for the file oxylabs_ai_studio-0.2.14.tar.gz.
File metadata
- Download URL: oxylabs_ai_studio-0.2.14.tar.gz
- Upload date:
- Size: 2.4 MB
- Tags: Source
- Uploaded using Trusted Publishing? No
- Uploaded via: twine/6.1.0 CPython/3.13.5
File hashes
| Algorithm | Hash digest | |
|---|---|---|
| SHA256 |
1d3a3c5670836a3435fbc4aedb6880371e13b4b0b542c59ca55448190d6052b3
|
|
| MD5 |
5d759405555cacc24c65530d0a484465
|
|
| BLAKE2b-256 |
02b8da11ff466f2774414aee77967272382ead2968372dbe3541b1835769fda5
|
File details
Details for the file oxylabs_ai_studio-0.2.14-py3-none-any.whl.
File metadata
- Download URL: oxylabs_ai_studio-0.2.14-py3-none-any.whl
- Upload date:
- Size: 15.4 kB
- Tags: Python 3
- Uploaded using Trusted Publishing? No
- Uploaded via: twine/6.1.0 CPython/3.13.5
File hashes
| Algorithm | Hash digest | |
|---|---|---|
| SHA256 |
f1e976b7474350c078bec339706ad05e4ceda049089945297543d39ea61bb6db
|
|
| MD5 |
1b3fe5a4633921d3318738ece0be0539
|
|
| BLAKE2b-256 |
cb46f4d1a9317345b729ee8be9900ecb285f8dfd520eb2297f8019bdd83040af
|