Oxylabs Scrapers
Installation
Get the credentials by creating an Oxylabs Account here.
pip install 'crewai[tools]' oxylabsCheck Oxylabs Documentation to get more information about API parameters.
OxylabsAmazonProductScraperTool
Example
from crewai_tools import OxylabsAmazonProductScraperTool
# make sure OXYLABS_USERNAME and OXYLABS_PASSWORD variables are set
tool = OxylabsAmazonProductScraperTool()
result = tool.run(query="AAAAABBBBCC")
print(result)Parameters
query- 10-symbol ASIN code.domain- domain localization for Amazon.geo_location- the Deliver to location.user_agent_type- device type and browser.render- enables JavaScript rendering when set tohtml.callback_url- URL to your callback endpoint.context- Additional advanced settings and controls for specialized requirements.parse- returns parsed data when set to true.parsing_instructions- define your own parsing and data transformation logic that will be executed on an HTML scraping result.
Advanced example
from crewai_tools import OxylabsAmazonProductScraperTool
# make sure OXYLABS_USERNAME and OXYLABS_PASSWORD variables are set
tool = OxylabsAmazonProductScraperTool(
config={
"domain": "com",
"parse": True,
"context": [
{
"key": "autoselect_variant",
"value": True
}
]
}
)
result = tool.run(query="AAAAABBBBCC")
print(result)OxylabsAmazonSearchScraperTool
Example
from crewai_tools import OxylabsAmazonSearchScraperTool
# make sure OXYLABS_USERNAME and OXYLABS_PASSWORD variables are set
tool = OxylabsAmazonSearchScraperTool()
result = tool.run(query="headsets")
print(result)Parameters
query- Amazon search term.domain- domain localization for Amazon.start_page- starting page number.pages- number of pages to retrieve.geo_location- the Deliver to location.user_agent_type- device type and browser.render- enables JavaScript rendering when set tohtml.callback_url- URL to your callback endpoint.context- Additional advanced settings and controls for specialized requirements.parse- returns parsed data when set to true.parsing_instructions- define your own parsing and data transformation logic that will be executed on an HTML scraping result.
Advanced example
from crewai_tools import OxylabsAmazonSearchScraperTool
# make sure OXYLABS_USERNAME and OXYLABS_PASSWORD variables are set
tool = OxylabsAmazonSearchScraperTool(
config={
"domain": 'nl',
"start_page": 2,
"pages": 2,
"parse": True,
"context": [
{'key': 'category_id', 'value': 16391693031}
],
}
)
result = tool.run(query='nirvana tshirt')
print(result)OxylabsGoogleSearchScraperTool
Example
from crewai_tools import OxylabsGoogleSearchScraperTool
# make sure OXYLABS_USERNAME and OXYLABS_PASSWORD variables are set
tool = OxylabsGoogleSearchScraperTool()
result = tool.run(query="iPhone 16")
print(result)Parameters
query- search keyword.domain- domain localization for Google.start_page- starting page number.pages- number of pages to retrieve.limit- number of results to retrieve in each page.locale-Accept-Languageheader value which changes your Google search page web interface language.geo_location- the geographical location that the result should be adapted for. Using this parameter correctly is extremely important to get the right data.user_agent_type- device type and browser.render- enables JavaScript rendering when set tohtml.callback_url- URL to your callback endpoint.context- Additional advanced settings and controls for specialized requirements.parse- returns parsed data when set to true.parsing_instructions- define your own parsing and data transformation logic that will be executed on an HTML scraping result.
Advanced example
from crewai_tools import OxylabsGoogleSearchScraperTool
# make sure OXYLABS_USERNAME and OXYLABS_PASSWORD variables are set
tool = OxylabsGoogleSearchScraperTool(
config={
"parse": True,
"geo_location": "Paris, France",
"user_agent_type": "tablet",
}
)
result = tool.run(query="iPhone 16")
print(result)OxylabsUniversalScraperTool
Example
from crewai_tools import OxylabsUniversalScraperTool
# make sure OXYLABS_USERNAME and OXYLABS_PASSWORD variables are set
tool = OxylabsUniversalScraperTool()
result = tool.run(url="https://ip.oxylabs.io")
print(result)Parameters
url- website url to scrape.user_agent_type- device type and browser.geo_location- sets the proxy's geolocation to retrieve data.render- enables JavaScript rendering when set tohtml.callback_url- URL to your callback endpoint.context- Additional advanced settings and controls for specialized requirements.parse- returns parsed data when set totrue, as long as a dedicated parser exists for the submitted URL's page type.parsing_instructions- define your own parsing and data transformation logic that will be executed on an HTML scraping result.
Advanced example
from crewai_tools import OxylabsUniversalScraperTool
# make sure OXYLABS_USERNAME and OXYLABS_PASSWORD variables are set
tool = OxylabsUniversalScraperTool(
config={
"render": "html",
"user_agent_type": "mobile",
"context": [
{"key": "force_headers", "value": True},
{"key": "force_cookies", "value": True},
{
"key": "headers",
"value": {
"Custom-Header-Name": "custom header content",
},
},
{
"key": "cookies",
"value": [
{"key": "NID", "value": "1234567890"},
{"key": "1P JAR", "value": "0987654321"},
],
},
{"key": "http_method", "value": "get"},
{"key": "follow_redirects", "value": True},
{"key": "successful_status_codes", "value": [808, 909]},
],
}
)
result = tool.run(url="https://ip.oxylabs.io")
print(result)