diff --git a/text-brave.go b/text-brave.go
index 6e8dfb6..09b9dbe 100644
--- a/text-brave.go
+++ b/text-brave.go
@@ -17,7 +17,10 @@ func PerformBraveTextSearch(query, safe, lang string, offset int) ([]TextSearchR
 	var results []TextSearchResult
 
 	// Build the search URL
-	searchURL := fmt.Sprintf("https://search.brave.com/search?q=%s&offset=%d", url.QueryEscape(query), offset)
+	searchURL := fmt.Sprintf("https://search.brave.com/search?q=%s", url.QueryEscape(query))
+	if offset > 1 {
+		searchURL += fmt.Sprintf("&offset=%d&spellcheck=0", offset-1)
+	}
 
 	req, err := http.NewRequest("GET", searchURL, nil)
 	if err != nil {
@@ -50,34 +53,47 @@ func PerformBraveTextSearch(query, safe, lang string, offset int) ([]TextSearchR
 	// Parse the response body
 	doc, err := goquery.NewDocumentFromReader(strings.NewReader(string(body)))
 	if err != nil {
-		printErr("Error parsing response body: %v", err)
-		return nil, 0, fmt.Errorf("parsing response body: %v", err)
+		return nil, 0, fmt.Errorf("parsing HTML: %v", err)
 	}
 
-	// Extract search results
-	doc.Find(".snippet").Each(func(i int, s *goquery.Selection) {
-		title := s.Find(".title").Text()
-		description := s.Find(".snippet-description").Text()
-		url, exists := s.Find("a").Attr("href")
+	// Only grab .snippet blocks that have data-type="web"
+	doc.Find(`.snippet[data-type="web"]`).Each(func(i int, s *goquery.Selection) {
 
-		// Add to results only if all components are present
-		if title != "" && description != "" && exists && url != "" {
+		// The main clickable link is <a ... class="heading-serpresult">
+		anchor := s.Find("a.heading-serpresult").First()
+		link, ok := anchor.Attr("href")
+		if !ok || link == "" {
+			return
+		}
+
+		// Title is inside <div class="title">
+		title := strings.TrimSpace(anchor.Find(".title").Text())
+		if title == "" {
+			// fallback if the .title is slightly off in the DOM
+			title = strings.TrimSpace(s.Find(".title").Text())
+		}
+
+		// Description is inside <div class="snippet-description">
+		desc := strings.TrimSpace(s.Find(".snippet-description").Text())
+
+		// Add only if everything is non-empty
+		if title != "" && desc != "" {
 			results = append(results, TextSearchResult{
 				Header:      title,
-				URL:         url,
-				Description: description,
+				URL:         link,
+				Description: desc,
 			})
 		}
 	})
 
-	duration := time.Since(startTime) // Calculate the duration
+	duration := time.Since(startTime)
 
 	// Return an error if no results are found
 	if len(results) == 0 {
-		printDebug("No results found for query: %s", query)
+		printDebug("No results found for query")
 		return nil, duration, fmt.Errorf("no results found")
 	}
 
-	printDebug("Search completed successfully for query: %s, found %d results", query, len(results))
+	printDebug("Search completed successfully found %d results", len(results))
 	return results, duration, nil
 }