Skip to content

Feature Request: Add optional serpbase.dev API backend for Google search results #26

Description

@gefsikatsinelou

Hey @BullsEye0, thanks for dorks-eye — it's been a useful tool in my recon toolkit, especially the multi-engine search in v2.0. Nice work on the recent updates.

Pain point I've hit
The Google search function relies on googlesearch-python, which scrapes Google's HTML results pages. After a few dozen queries I start getting empty results or HTTP errors — Google's rate limiting kicks in hard, especially from a VPS. The time.sleep(1) between queries helps a bit but makes bulk dork scanning painfully slow. I've noticed some closed issues (#22, #25) suggest others have run into similar problems.

Suggestion
Would you consider adding an optional https://serpbase.dev backend for the google() function? It's a Google Search Results API that returns structured JSON (title, link, snippet, position) — no scraping, no rate limits, no CAPTCHAs to deal with. Free tier gives 100 searches to try it out.

The idea would be:

def google(dork, amount):
    api_key = os.environ.get("SERPBASE_API_KEY", "")
    if api_key:
        # Use serpbase API — fast, reliable, no rate limit headaches
        return _google_via_serpbase(dork, amount, api_key)
    # Fall back to existing googlesearch-python scraping
    ...

If no API key is set, it falls through to the existing scraping approach — zero breaking changes.

Why it fits

  • The tool already supports 5 search engines with a clean per-engine function pattern; adding an API mode to the Google function is a natural extension
  • Users who run bulk dork lists or scan many domains would benefit from consistent, fast results without the sleep() delays
  • The structured JSON response maps cleanly to what google() already returns (a list of URLs)

Happy to help test or draft a PR if there's interest. Cheers!

Metadata

Metadata

Assignees

No one assigned

    Labels

    No labels
    No labels

    Projects

    No projects

    Milestone

    No milestone

    Relationships

    None yet

    Development

    No branches or pull requests

    Issue actions