From 8377e8e10f777558ebccfe753357f7c691f45f7c Mon Sep 17 00:00:00 2001 From: julka Date: Thu, 27 Aug 2026 12:19:14 +0300 Subject: [PATCH 1/2] Readme fixes --- README.md | 3 ++- 1 file changed, 2 insertions(+), 1 deletion(-) diff --git a/README.md b/README.md index 69a9821..6e1ac38 100644 --- a/README.md +++ b/README.md @@ -608,7 +608,8 @@ Raw URL targets use a `_url` suffix, so `google` is [`google_url/`](./examples/w Run any of them with: ```bash -DECODO_TOKEN=your_token go run ./examples/web_scraping_api/google_search +export DECODO_TOKEN=your_token +go run ./examples/web_scraping_api/google_search ``` ## Code generation From 7aa33b08ade70dfd337a792c10fcb80630285076 Mon Sep 17 00:00:00 2001 From: julka Date: Thu, 27 Aug 2026 12:28:47 +0300 Subject: [PATCH 2/2] Remove deprecated targets, fix examples --- README.md | 13 +------- examples/web_scraping_api/google_maps/main.go | 30 ------------------- .../google_shopping_search/main.go | 30 ------------------- .../google_trends_explore/main.go | 28 ----------------- .../instagram_profile/main.go | 28 ----------------- .../youtube_search_max/main.go | 29 ------------------ 6 files changed, 1 insertion(+), 157 deletions(-) delete mode 100644 examples/web_scraping_api/google_maps/main.go delete mode 100644 examples/web_scraping_api/google_shopping_search/main.go delete mode 100644 examples/web_scraping_api/google_trends_explore/main.go delete mode 100644 examples/web_scraping_api/instagram_profile/main.go delete mode 100644 examples/web_scraping_api/youtube_search_max/main.go diff --git a/README.md b/README.md index 6e1ac38..57c1216 100644 --- a/README.md +++ b/README.md @@ -437,13 +437,8 @@ Each target takes one primary input field, `URL`, `Query`, `ProductID`, or `Prom | Target | Description | Primary input | Constructor | | --- | --- | --- | --- | | `google_search` | Google Search results for a query | `Query` | `NewGoogleSearchParams()` | -| `google_maps` | Google Maps search results | `Query` | `NewGoogleMapsParams()` | -| `google_shopping_search` | Google Shopping search results | `Query` | `NewGoogleShoppingSearchParams()` | -| `google_shopping_product` | Google Shopping product page | `Query` | `NewGoogleShoppingProductParams()` | -| `google_suggest` | Google Autocomplete suggestions | `Query` | `NewGoogleSuggestParams()` | | `google_lens` | Google Lens reverse image search | `Query` | `NewGoogleLensParams()` | | `google_travel_hotels` | Google Travel hotel listings | `Query` | `NewGoogleTravelHotelsParams()` | -| `google_trends_explore` | Google Trends explore data | `Query` | `NewGoogleTrendsExploreParams()` | | `google_ads` | Google Ads results for a query | `Query` | `NewGoogleAdsParams()` | | `bing_search` | Bing Search results | `Query` | `NewBingSearchParams()` | | `bing` | Raw Bing URL scraping | `URL` | `NewBingParams()` | @@ -463,8 +458,6 @@ Each target takes one primary input field, `URL`, `Query`, `ProductID`, or `Prom | `target_product` | Target.com product page by product ID | `ProductID` | `NewTargetProductParams()` | | `target_search` | Target.com search results | `Query` | `NewTargetSearchParams()` | | `target` | Raw Target.com URL scraping | `URL` | `NewTargetParams()` | -| `lowes_search` | Lowe's search results | `Query` | `NewLowesSearchParams()` | -| `ecommerce` | Generic eCommerce page with parser | `URL` | `NewEcommerceParams()` | ### Social media @@ -473,18 +466,14 @@ Each target takes one primary input field, `URL`, `Query`, `ProductID`, or `Prom | `reddit_post` | Reddit post by URL | `URL` | `NewRedditPostParams()` | | `reddit_subreddit` | Reddit subreddit by URL | `URL` | `NewRedditSubredditParams()` | | `reddit_user` | Reddit user profile by URL | `URL` | `NewRedditUserParams()` | -| `youtube_video` | YouTube video by ID | `Query` | `NewYoutubeVideoParams()` | | `youtube_search` | YouTube search results | `Query` | `NewYoutubeSearchParams()` | -| `youtube_search_max` | YouTube search results (extended) | `Query` | `NewYoutubeSearchMaxParams()` | | `youtube_metadata` | YouTube video metadata by ID | `Query` | `NewYoutubeMetadataParams()` | -| `youtube_transcript` | YouTube video transcript by ID | `Query` | `NewYoutubeTranscriptParams()` | | `youtube_subtitles` | YouTube video subtitles by ID | `Query` | `NewYoutubeSubtitlesParams()` | | `youtube_channel` | YouTube channel by handle or ID | `Query` | `NewYoutubeChannelParams()` | | `tiktok_post` | TikTok post by URL | `URL` | `NewTiktokPostParams()` | | `tiktok_shop_search` | TikTok Shop search results | `Query` | `NewTiktokShopSearchParams()` | | `tiktok_shop_product` | TikTok Shop product page by product ID | `ProductID` | `NewTiktokShopProductParams()` | | `tiktok` | Raw TikTok URL scraping | `URL` | `NewTiktokParams()` | -| `instagram_graphql_profile` | Instagram profile via GraphQL | `Query` | `NewInstagramGraphqlProfileParams()` | ### AI tools @@ -603,7 +592,7 @@ Three things to keep in mind: - [`async/google_search_async/`](./examples/web_scraping_api/async/google_search_async/) for a task with polling - [`batch/google_search_batch/`](./examples/web_scraping_api/batch/google_search_batch/) for a batch task with polling -Raw URL targets use a `_url` suffix, so `google` is [`google_url/`](./examples/web_scraping_api/google_url/) and `amazon` is [`amazon_url/`](./examples/web_scraping_api/amazon_url/). A few directories are named after the site rather than the target, such as [`mobile_de/`](./examples/web_scraping_api/mobile_de/) for `mobile` and [`instagram_profile/`](./examples/web_scraping_api/instagram_profile/) for `instagram_graphql_profile`. +Raw URL targets use a `_url` suffix, so `google` is [`google_url/`](./examples/web_scraping_api/google_url/) and `amazon` is [`amazon_url/`](./examples/web_scraping_api/amazon_url/). A few directories are named after the site rather than the target, such as [`mobile_de/`](./examples/web_scraping_api/mobile_de/) for `mobile`. Run any of them with: diff --git a/examples/web_scraping_api/google_maps/main.go b/examples/web_scraping_api/google_maps/main.go deleted file mode 100644 index c2fb40a..0000000 --- a/examples/web_scraping_api/google_maps/main.go +++ /dev/null @@ -1,30 +0,0 @@ -package main - -import ( - "context" - "encoding/json" - "fmt" - "os" - - "github.com/decodo/sdk-go" -) - -func main() { - client := decodo.NewClient(decodo.Config{ - WebScrapingAPI: &decodo.WebScrapingAPIConfig{Token: ""}, - }) - - params := decodo.NewGoogleMapsParams() - params.Query = decodo.Ptr("coffee shops brooklyn") - params.Geo = decodo.Ptr("United States") - params.Locale = decodo.Ptr("en") - - res, err := client.WebScrapingAPI.Scrape(context.Background(), params) - if err != nil { - fmt.Fprintf(os.Stderr, "Error: %v\n", err) - os.Exit(1) - } - - out, _ := json.MarshalIndent(res, "", " ") - fmt.Println(string(out)) -} diff --git a/examples/web_scraping_api/google_shopping_search/main.go b/examples/web_scraping_api/google_shopping_search/main.go deleted file mode 100644 index d8542e6..0000000 --- a/examples/web_scraping_api/google_shopping_search/main.go +++ /dev/null @@ -1,30 +0,0 @@ -package main - -import ( - "context" - "encoding/json" - "fmt" - "os" - - "github.com/decodo/sdk-go" -) - -func main() { - client := decodo.NewClient(decodo.Config{ - WebScrapingAPI: &decodo.WebScrapingAPIConfig{Token: ""}, - }) - - params := decodo.NewGoogleShoppingSearchParams() - params.Query = decodo.Ptr("laptop") - params.Headless = decodo.Ptr("html") - params.Parse = decodo.Ptr(true) - - res, err := client.WebScrapingAPI.Scrape(context.Background(), params) - if err != nil { - fmt.Fprintf(os.Stderr, "Error: %v\n", err) - os.Exit(1) - } - - out, _ := json.MarshalIndent(res, "", " ") - fmt.Println(string(out)) -} diff --git a/examples/web_scraping_api/google_trends_explore/main.go b/examples/web_scraping_api/google_trends_explore/main.go deleted file mode 100644 index dc977ca..0000000 --- a/examples/web_scraping_api/google_trends_explore/main.go +++ /dev/null @@ -1,28 +0,0 @@ -package main - -import ( - "context" - "encoding/json" - "fmt" - "os" - - "github.com/decodo/sdk-go" -) - -func main() { - client := decodo.NewClient(decodo.Config{ - WebScrapingAPI: &decodo.WebScrapingAPIConfig{Token: ""}, - }) - - params := decodo.NewGoogleTrendsExploreParams() - params.Query = decodo.Ptr("seo optimization") - - res, err := client.WebScrapingAPI.Scrape(context.Background(), params) - if err != nil { - fmt.Fprintf(os.Stderr, "Error: %v\n", err) - os.Exit(1) - } - - out, _ := json.MarshalIndent(res, "", " ") - fmt.Println(string(out)) -} diff --git a/examples/web_scraping_api/instagram_profile/main.go b/examples/web_scraping_api/instagram_profile/main.go deleted file mode 100644 index 4ba0653..0000000 --- a/examples/web_scraping_api/instagram_profile/main.go +++ /dev/null @@ -1,28 +0,0 @@ -package main - -import ( - "context" - "encoding/json" - "fmt" - "os" - - "github.com/decodo/sdk-go" -) - -func main() { - client := decodo.NewClient(decodo.Config{ - WebScrapingAPI: &decodo.WebScrapingAPIConfig{Token: ""}, - }) - - params := decodo.NewInstagramGraphqlProfileParams() - params.Query = decodo.Ptr("nba") - - res, err := client.WebScrapingAPI.Scrape(context.Background(), params) - if err != nil { - fmt.Fprintf(os.Stderr, "Error: %v\n", err) - os.Exit(1) - } - - out, _ := json.MarshalIndent(res, "", " ") - fmt.Println(string(out)) -} diff --git a/examples/web_scraping_api/youtube_search_max/main.go b/examples/web_scraping_api/youtube_search_max/main.go deleted file mode 100644 index 16ecb4c..0000000 --- a/examples/web_scraping_api/youtube_search_max/main.go +++ /dev/null @@ -1,29 +0,0 @@ -package main - -import ( - "context" - "encoding/json" - "fmt" - "os" - - "github.com/decodo/sdk-go" -) - -func main() { - client := decodo.NewClient(decodo.Config{ - WebScrapingAPI: &decodo.WebScrapingAPIConfig{Token: ""}, - }) - - params := decodo.NewYoutubeSearchMaxParams() - params.Query = decodo.Ptr("How to care for chinchillas") - params.VideoSortBy = decodo.Ptr("relevance") - - res, err := client.WebScrapingAPI.Scrape(context.Background(), params) - if err != nil { - fmt.Fprintf(os.Stderr, "Error: %v\n", err) - os.Exit(1) - } - - out, _ := json.MarshalIndent(res, "", " ") - fmt.Println(string(out)) -}