+
    i+                     v   R t ^ RIt^ RIt^ RIt^ RIHtHt RRR.RRR.R	R
R.RRR.RRR.RRR./tR R R lltR R lt	]
R8X  dt   ]P                  ! R4      t]'       g   ]! R4       ]! ^4       ]P                  4        F3  t]	! ]]4      t]! R] R24       ] F  t]! R]R,           24       K  	  K5  	  R# R# )!uk   
Brave Search Scanner — Fetch trending topics via Brave Search API.
Uses BRAVE_API_KEY from environment.
N)ListDictzUSMC / MilitaryzMarine Corps trending 2026zveteran shirt design trendingzMilitary Familyz"military spouse community trendingzmilitary family apparelzReformed ChristianzReformed theology trendingzPresbyterian social media viral	Patrioticzpatriotic apparel trending 2026zAmerican flag design viralzPrint on Demandz%print on demand trending designs 2026zEtsy trending niches March 2026zAI Services / Small Businessz%AI automation small business trendingzChatGPT tools SMB 2026c          	      ^    V ^8  d   QhR\         R\         R\        R\        \        ,          /# )   queryapi_keycountreturn)strintr   r   )formats   "V/Users/tonyclaw/.openclaw/workspace/scripts/research-pipeline/sources/brave_scanner.py__annotate__r   )   s,     . . .c .# .d4j .    c                    RRRV/pRV RVRR/pRp\         P                  ! WSV^
R	7      pVP                  4         VP                  4       p. p\        T\        4      '       d   RT9   dy   TP                  R. 4       Fb  p	\        T	\        4      '       g   K  TP                  RT	P                  RR4      RT	P                  RR4      RT	P                  RR4      /4       Kd  	  T#   \        P                   d    \        R
T  R24       . u # i ; i  \         d.   p
R\        T
4      9  d   \        RT  RT
 24       . u Rp
?
# Rp
?
ii ; i)z
Search Brave Search API for recent results.
Args:
    query: Search query string
    api_key: Brave API key
    count: Number of results to return
Returns:
    List of result dicts with title, url, snippet
Acceptzapplication/jsonzX-Subscription-Tokenqr	   	freshnesspdz.https://api.search.brave.com/res/v1/web/search)headersparamstimeoutz([WARN] Invalid JSON from Brave API for ''webtitle urlsnippetdescription429z [WARN] Brave search failed for 'z': N)requestsgetraise_for_statusjsonJSONDecodeErrorprint
isinstancedictappend	Exceptionr   )r   r   r	   r   r   r   responsedataresultsresultes   &&&        r   search_braver0   )   sP   $("G

 U
 ?<<VRP!!#	==?D
 dD!!etm((5"-fd++NNGR!8vzz%4!6::mR#@$  .  ## 	<UG1EFI	  A4UG3qcBC		sH   9D C% AD AD %&DD DD E	"E>E	E	c                R    V ^8  d   QhR\         R\         R\        \        ,          /# )r   nicher   r
   )r   r   r   )r   s   "r   r   r   Z   s%      S 3 4: r   c                    V \         9  d   . # \         V ,          p. pV Fd  p\        WA^R7      pV FN  p\        VR,          4      ^
8  g   K  VP                  RRRV RVR,          RVR,          RVR,          R^ /4       KP  	  Kf  	  VR	,          # )
zd
Get trending signals for a niche via Brave Search.
Returns top signals with title, URL, niche tag.
)r	   r   sourcebraver2   r   r   
engagement:N   N)NICHE_KEYWORDSr0   lenr)   )r2   r   keywordsall_signalskeywordr-   r.   s   &&     r   get_brave_signalsr=   Z   s    
 N"	e$HKwq9F6'?#b(""gUVG_vi06%= !$    r?r   __main__BRAVE_API_KEYz-ERROR: BRAVE_API_KEY not found in environment
:u     • r   )   )__doc__osr!   r$   typingr   r   r8   r0   r=   __name__getenvr   r&   exitkeysr2   signalssig r   r   <module>rM      s  
 
    $' ,! $) )$ /) #/ %+8.b8 zii(G=>Q$$&#E735'mCF3w<.)*  ' r   