New canonical (AI SERP): https://clawhub.ai/pangolinfo/pangolinfo-ai-serp
Amazon skill: https://clawhub.ai/pangolinfo/pangolinfo-amazon-scraper
Search Google and scrape Amazon programmatically via Pangolin APIs. Extract AI overviews, organic search results, Amazon product data, and page screenshots.
Python 3.6+ (uses only standard library)
Pangolin account at pangolinfo.com
Environment variables (one of):
PANGOLIN_TOKEN -- existing bearer tokenPANGOLIN_EMAIL + PANGOLIN_PASSWORD -- for automatic loginbash
python3 scripts/pangolin.py --q "what is quantum computing" --mode ai-mode
bash
python3 scripts/pangolin.py --q "how does java work" --mode serp --screenshot
bash
python3 scripts/pangolin.py --q "python web frameworks" --mode ai-mode \
--follow-up "compare flask vs django" \
--follow-up "which is better for beginners"
bash
python3 scripts/pangolin.py --url "https://www.amazon.com/dp/B0DYTF8L2W" --mode amazon
bash
python3 scripts/pangolin.py --q "wireless mouse" --mode amazon --parser amzKeyword
~/.pangolin_token), or fresh loginai-mode | serp | amazon--mode ai-mode)#Uses parserName: "googleAISearch" with udm=50 to get Google AI Mode results.
bash
python3 scripts/pangolin.py --q "explain machine learning" --mode ai-mode
Output includes ai_overview with content paragraphs and source references.
--mode serp)#Uses parserName: "googleSearch" for standard SERP results with AI overview extraction.
bash
python3 scripts/pangolin.py --q "best programming languages 2025" --mode serp
Output includes both organic_results and optional ai_overview.
Add follow-up questions to an AI Mode search. Keep to 5 or fewer for optimal performance (more is allowed but slower):
bash
python3 scripts/pangolin.py --q "kubernetes" --mode ai-mode \
--follow-up "how to deploy" \
--follow-up "monitoring tools" \
--follow-up "cost optimization"
--mode amazon)#Scrape Amazon product data using various parsers.
Product detail by URL:
bash
python3 scripts/pangolin.py --url "https://www.amazon.com/dp/B0DYTF8L2W" --mode amazon
Keyword search:
bash
python3 scripts/pangolin.py --q "mechanical keyboard" --mode amazon --parser amzKeyword
Best sellers:
bash
python3 scripts/pangolin.py --url "https://www.amazon.com/gp/bestsellers/electronics" \
--mode amazon --parser amzBestSellers
With custom zipcode and raw HTML:
bash
python3 scripts/pangolin.py --url "https://www.amazon.com/dp/B0DYTF8L2W" \
--mode amazon --zipcode 90210 --format rawHtml
Available Amazon parsers:
ParserUse CaseamzProductDetailSingle product page (default)amzKeywordKeyword search resultsamzProductOfCategoryCategory listingamzProductOfSellerSeller's productsamzBestSellersBest sellers rankingamzNewReleasesNew releases rankingamzFollowSellerProduct variants / other sellers
bash
python3 scripts/pangolin.py --auth-only
bash
python3 scripts/pangolin.py --q "test" --mode ai-mode --raw
text
--q QUERY Search query
--url URL Target URL (for Amazon product pages, category pages, etc.)
--mode MODE ai-mode (default) | serp | amazon
--screenshot Capture page screenshot (Google only)
--follow-up TEXT Follow-up question (repeatable, ai-mode only)
--num N Number of results (default: 10, Google only)
--parser PARSER Amazon parser name (default: amzProductDetail)
--zipcode CODE Amazon zipcode (default: 10041)
--format FMT Amazon response format: json (default) | rawHtml | markdown
--auth-only Authenticate and show token info
--raw Output raw API response
FeatureAI ModeSERPAmazonParsergoogleAISearch``googleSearch``amz* (7 types)Input--q``--q``--url or --qPrimary outputAI-generated answerOrganic results + AI overviewProduct dataMulti-turnYes (via --follow-up)NoNoScreenshotYesYesNoBest forAI answersSearch results with AI contextProduct & market dataCost2 credits2 credits1 credit (json) / 0.75 (raw)
json
{
"success": true,
"task_id": "...",
"results_num": 1,
"ai_overview_count": 1,
"ai_overview": [{"content": ["..."], "references": [{"title": "...", "url": "...", "domain": "..."}]}],
"organic_results": [{"title": "...", "url": "...", "text": "..."}],
"screenshot": "https://..."
}
json
{
"success": true,
"task_id": "...",
"url": "https://www.amazon.com/dp/...",
"results_count": 1,
"product": {"asin": "...", "title": "...", "price": "...", "star": "...", "rating": "..."}
}
See reference files for full response schemas.
CodeMeaning0Success1API error (non-zero response code)2Usage error (invalid arguments)3Network error4Authentication error
ProblemSolutionAuth failsCheck PANGOLIN_EMAIL and PANGOLIN_PASSWORD env varsEmpty AI overviewNot all queries trigger AI overview; try informational queriesToken invalid (1004)Script auto-refreshes; ensure email/password env vars are setInsufficient credits (2001)Top up at pangolinfo.comTimeoutScript retries 3x with backoff; check networkAmazon returns emptyVerify the URL and parser match (e.g. product URL + amzProductDetail)
See references/error-codes.md for the full error code reference.
ReferenceContentreferences/ai-mode-api.mdAI Mode API schema, multi-turn dialogue mechanismreferences/ai-overview-serp-api.mdAI Overview SERP API schema, organic result structurereferences/amazon-api.mdAmazon Scrape API, all parser types, product fieldsreferences/error-codes.mdError codes, auth lifecycle, credit management