Skip to content
Skillv1.0.0

serpapi-core-workflow-b

Search Bing, YouTube, Google Shopping, Google News, and Google Maps with SerpApi. Use when scraping non-Google engines, building multi-engine search, or extracting video/news/shopping/maps data. Trigg

by jeremylongshore(0) 0 installs
Free
Sign in to install

Free account. Installing gives you the manifest plus copy-paste snippets.

See reviews

About

Imported from jeremylongshore/tons-of-skills-marketplace (plugins/saas-packs/serpapi-pack/skills/serpapi-core-workflow-b/SKILL.md). Install upstream with npx skills add jeremylongshore/tons-of-skills-marketplace --skill serpapi-core-workflow-b. Copyright stays with the author (MIT).

SerpApi Core Workflow B: Multi-Engine Search

Overview

SerpApi supports 15+ search engines beyond Google. Each engine has its own parameters and result structure. Key engines: YouTube (search_query), Bing (q), Google News, Google Shopping, Google Maps, Walmart, eBay, Apple App Store.

Instructions

Step 1: YouTube Search

import serpapi, os
client = serpapi.Client(api_key=os.environ["SERPAPI_API_KEY"])

# YouTube uses search_query (not q)
yt = client.search(engine="youtube", search_query="python asyncio tutorial")

for video in yt.get("video_results", []):
    print(f"{video['title']}")
    print(f"  Channel: {video.get('channel', {}).get('name')}")
    print(f"  Views: {video.get('views')}, Length: {video.get('length')}")
    print(f"  Link: {video['link']}")
    print(f"  Published: {video.get('published_date')}")

Step 2: Bing Search

bing = client.search(engine="bing", q="machine learning frameworks", count=10)

for r in bing.get("organic_results", []):
    print(f"{r['position']}. {r['title']}")
    print(f"   {r['link']}")
    # Bing has different snippet structure
    print(f"   {r.get('snippet', 'N/A')}")

Step 3: Google News

news = client.search(engine="google_news", q="artificial intelligence", gl="us", hl="en")

for article in news.get("news_results", []):
    print(f"{article['title']}")
    print(f"  Source: {article['source']['name']}")
    print(f"  Date: {article.get('date')}")
    print(f"  Link: {article['link']}")
    # News often has thumbnail
    if "thumbnail" in article:
        print(f"  Image: {article['thumbnail']}")

Step 4: Google Shopping

shopping = client.search(
    engine="google_shopping",
    q="mechanical keyboard",
    gl="us",
    hl="en",
)

for product in shopping.get("shopping_results", []):
    print(f"{product['title']}")
    print(f"  Price: {product.get('price')}")
    print(f"  Source: {product.get('source')}")
    print(f"  Rating: {product.get('rating')} ({product.get('reviews', 0)} reviews)")
    print(f"  Link: {product['link']}")

Step 5: Google Maps / Local

maps = client.search(
    engine="google_maps",
    q="pizza restaurants",
    ll="@30.2672,-97.7431,14z",  # Austin, TX coordinates + zoom
)

for place in maps.get("local_results", []):
    print(f"{place['title']} - {place.get('rating', 'N/A')} stars ({place.get('reviews', 0)} reviews)")
    print(f"  Address: {place.get('address')}")
    print(f"  Phone: {place.get('phone')}")
    print(f"  Type: {place.get('type')}")
    print(f"  Hours: {place.get('operating_hours', {}).get('monday')}")

Step 6: Cross-Engine Comparison

def multi_search(query: str) -> dict:
    """Search across multiple engines for the same query."""
    engines = [
        {"engine": "google", "q": query},
        {"engine": "bing", "q": query},
        {"engine": "youtube", "search_query": query},
        {"engine": "google_news", "q": query},
    ]
    results = {}
    for params in engines:
        result = client.search(**params)
        engine = params["engine"]
        key = "organic_results" if engine != "youtube" else "video_results"
        if engine == "google_news":
            key = "news_results"
        results[engine] = result.get(key, [])[:3]
    return results  # 4 API credits total

Error Handling

Error Engine Solution
search_query required YouTube Use search_query not q
No shopping_results Google Shopping Query must be product-related
Empty local_results Google Maps Add ll parameter with coordinates
count vs num Bing Bing uses count, Google uses num

Resources

Next Steps

For common errors, see serpapi-common-errors.

Use it

Copy one of these into your project. Installing also returns the manifest and these snippets.

yaml
targets:
  - https://api.opensmartroute.ai/api/v1/registry/jeremylongshore-tons-of-skills-marketplace-serpapi-core-090e32/manifest   # or paste the manifest below

Manifest

An Open Capability Manifest: the router reads it to know what this does, what it costs and when to pick it.

jeremylongshore-tons-of-skills-marketplace-serpapi-core-090e32.ocm.jsonjson
{
  "ocm": "1",
  "id": "jeremylongshore-tons-of-skills-marketplace-serpapi-core-090e32",
  "kind": "skill",
  "name": "serpapi-core-workflow-b",
  "description": "Search Bing, YouTube, Google Shopping, Google News, and Google Maps with SerpApi. Use when scraping non-Google engines, building multi-engine search, or extracting video/news/shopping/maps data. Trigger: \"serpapi youtube\", \"serpapi bing\", \"serpapi news\", \"serpapi shopping\".",
  "publisher": "jeremylongshore",
  "version": "1.0.0",
  "capabilities": {
    "domains": [
      "general"
    ],
    "tags": [
      "skill-md",
      "saas",
      "search",
      "seo",
      "serpapi",
      "skills-sh"
    ],
    "languages": [
      "en"
    ]
  },
  "quality_prior": 0.6,
  "examples": [
    "Search Bing, YouTube, Google Shopping, Google News, and Google Maps with SerpApi. Use when scraping non-Google engines, building multi-engine search, or extracting video/news/shopping/maps data. Trigger: \"serpapi youtube\", \"serpapi bing\", \"serpapi news\", \"serpapi shopping\"."
  ],
  "primary": false,
  "metadata": {
    "source": {
      "provider": "skills.sh",
      "repository": "https://github.com/jeremylongshore/tons-of-skills-marketplace",
      "path": "plugins/saas-packs/serpapi-pack/skills/serpapi-core-workflow-b/SKILL.md",
      "ref": "HEAD",
      "url": "https://github.com/jeremylongshore/tons-of-skills-marketplace/blob/HEAD/plugins/saas-packs/serpapi-pack/skills/serpapi-core-workflow-b/SKILL.md",
      "key": "jeremylongshore/tons-of-skills-marketplace/plugins/saas-packs/serpapi-pack/skills/serpapi-core-workflow-b/SKILL.md"
    },
    "compatibility": "Designed for Claude Code",
    "allowed_tools": [
      "Read,",
      "Write,",
      "Edit,",
      "Bash(npm:*),",
      "Grep"
    ],
    "license": "MIT"
  },
  "instructions": "# SerpApi Core Workflow B: Multi-Engine Search\n\n## Overview\n\nSerpApi supports 15+ search engines beyond Google. Each engine has its own parameters and result structure. Key engines: YouTube (`search_query`), Bing (`q`), Google News, Google Shopping, Google Maps, Walmart, eBay, Apple App Store.\n\n## Instructions\n\n### Step 1: YouTube Search\n\n```python\nimport serpapi, os\nclient = serpapi.Client(api_key=os.environ[\"SERPAPI_API_KEY\"])\n\n# YouTube uses search_query (not q)\nyt = client.search(engine=\"youtube\", search_query=\"python asyncio tutorial\")\n\nfor video in yt.get(\"video_results\", []):\n    print(",
  "cost": {
    "context_tokens": 1025
  }
}

Fetch it by URL: GET /api/v1/registry/jeremylongshore-tons-of-skills-marketplace-serpapi-core-090e32/manifest?version=1.0.0

Reviews

Star ratings from people who tried it. One review per account; edit yours any time.

No reviews yet. Install it, try it, and be the first to rate it.