+
    Vi@                        R t ^ RIHtHtHtHtHt ^ RIt^RIH	t	H
t
 ^RIHt ^RIHt ^RIHt ]P$                  ! R4      t ! R R	4      t ! R
 R4      t ! R R4      t ! R R4      t ! R R4      t ! R R4      t]t]tR# )a  
Firecrawl Client

A Firecrawl client that enables you to scrape content from websites, crawl entire sites, search the web, and extract structured data using AI.

The client supports both v1 and v2 API versions, providing access to features like:
- Web scraping with advanced options (screenshots, markdown conversion, etc.)
- Site crawling with configurable depth and limits
- Web search with content extraction
- Structured data extraction using AI models
- Deep research capabilities

Usage:
    from firecrawl import Firecrawl
    firecrawl = Firecrawl(api_key="your-api-key")
    result = firecrawl.scrape("https://example.com")

Check example.py for other usage examples.
)AnyDictOptionalListUnionN)V1FirecrawlAppAsyncV1FirecrawlApp)FirecrawlClient)AsyncFirecrawlClient)Document	firecrawlc                   B   a  ] tR t^ t o RtV 3R lR ltV 3R ltRtV tR# )V1Proxy+Type-annotated proxy for v1 client methods.c                0   < V ^8  d   QhRS[ S[,          /#    client_instancer   r   )format__classdict__s   "O/home/ubuntu/hermes-agent/venv/lib/python3.14/site-packages/firecrawl/client.py__annotate__V1Proxy.__annotate__$   s     I I(@ I    c                z   Wn         V'       d   VP                  V n        VP                  V n        VP                  V n        VP                  V n        VP
                  V n        VP                  V n        VP                  V n        VP                  V n        VP                  V n	        VP                  V n
        R # R # N_client
scrape_url	crawl_urlbatch_scrape_urlsasync_batch_scrape_urlsasync_crawl_urlcheck_crawl_statusmap_urlextractdeep_researchgenerate_llms_textselfr   s   &&r   __init__V1Proxy.__init__$       &-88DO,66DN%4%F%FD"+:+R+RD(#2#B#BD &5&H&HD#*22DL*22DL!0!>!>D&5&H&HD# r   c                6   < V ^8  d   Qh/ S[ S[,          ;R&   # r   r   r   )r   r   s   "r   r   r       s     n%% r   r   r"   r#   r!   r$   r    r'   r&   r(   r%   r   N	__name__
__module____qualname____firstlineno____doc__r+   __annotate_func____static_attributes____classdictcell__r   s   @r   r   r            5I I	  r   r   c                   H   a  ] tR t^3t o RtV 3R lR ltR tV 3R ltRtV t	R# )V2ProxyIProxy class that forwards method calls to the appropriate version client.c                0   < V ^8  d   QhRS[ S[,          /# r   r   V2FirecrawlClient)r   r   s   "r   r   V2Proxy.__annotate__7   s     03 031B(C 03r   c                V   Wn         V'       Ed   VP                  V n        VP                  V n        VP                  V n        VP                  V n        V P                  V n        V P                  V n        VP                  V n        VP                  V n        VP                  V n	        VP                  V n
        VP                  V n        VP                  V n        VP                  V n        VP                  V n        VP                  V n        VP                   V n        VP"                  V n        VP$                  V n        VP&                  V n        VP(                  V n        VP*                  V n        VP,                  V n        VP.                  V n        VP0                  V n        VP2                  V n        VP4                  V n        VP6                  V n        VP8                  V n        VP:                  V n        VP<                  V n        VP>                  V n        VP@                  V n         VPB                  V n!        VPD                  V n"        VPF                  V n#        VPH                  V n$        VPJ                  V n%        VPL                  V n&        VPN                  V n'        R # R # r   )(r   scrapeinteractstop_interactionstop_interactive_browserscrape_executedelete_scrape_browsersearchcrawlstart_crawlget_crawl_statusget_crawl_status_pagecancel_crawlget_crawl_errorsget_active_crawlsactive_crawlscrawl_params_previewr&   start_extractget_extract_statusagentstart_agentget_agent_statuscancel_agentstart_batch_scrapeget_batch_scrape_statusget_batch_scrape_status_pagecancel_batch_scrapebatch_scrapeget_batch_scrape_errorsmapget_concurrencyget_credit_usageget_token_usageget_queue_statusbrowserbrowser_executedelete_browserlist_browserswatcherr)   s   &&r   r+   V2Proxy.__init__7   s)   &?)00DK+44DM$3$D$DD!,;,T,TD)"&--D)-)>)>D&)00DK(..DJ.::D$3$D$DD!)8)N)ND& / < <D$3$D$DD!%4%F%FD"!0!>!>D(7(L(LD%*22DL!0!>!>D&5&H&HD#(..DJ.::D$3$D$DD! / < <D&5&H&HD#+:+R+RD(0?0\0\D-'6'J'JD$ / < <D+:+R+RD(&**DH#2#B#BD $3$D$DD!#2#B#BD $3$D$DD!*22DL#2#B#BD "1"@"@D!0!>!>D*22DL[ r   c                .    \        V P                  V4      # )2Forward attribute access to the underlying client.)getattrr   r*   names   &&r   __getattr__V2Proxy.__getattr__i   s    t||T**r   c                6   < V ^8  d   Qh/ S[ S[,          ;R&   # r/   r@   )r   r   s   "r   r   rB   3   s     '(( r   )(r   rR   rV   r^   re   rf   rY   r]   rO   rK   rS   rg   rI   r&   rQ   rX   r_   r[   r\   ra   rP   rM   rN   rb   rU   rd   rc   rE   rh   r`   rD   rH   rJ   rW   rZ   rL   rT   rF   rG   ri   N)
r2   r3   r4   r5   r6   r+   rp   r7   r8   r9   r:   s   @r   r=   r=   3   s      S03 03d+m  r   r=   c                   B   a  ] tR t^mt o RtV 3R lR ltV 3R ltRtV tR# )AsyncV1Proxyr   c                0   < V ^8  d   QhRS[ S[,          /# r   r   r   )r   r   s   "r   r   AsyncV1Proxy.__annotate__q   s     I I1D(E Ir   c                z   Wn         V'       d   VP                  V n        VP                  V n        VP                  V n        VP                  V n        VP
                  V n        VP                  V n        VP                  V n        VP                  V n        VP                  V n	        VP                  V n
        R # R # r   r   r)   s   &&r   r+   AsyncV1Proxy.__init__q   r-   r   c                6   < V ^8  d   Qh/ S[ S[,          ;R&   # r/   rv   )r   r   s   "r   r   rw   m   s     )** r   r0   Nr1   r:   s   @r   rt   rt   m   r;   r   rt   c                   P   a  ] tR t^t o RtRtRV 3R lR lltR tV 3R ltRt	V t
R# )	AsyncV2Proxyr>   Nc                0   < V ^8  d   QhRS[ S[,          /# r   r   r
   )r   r   s   "r   r   AsyncV2Proxy.__annotate__   s     23 231E(F 23r   c                   Wn         V'       Ed   VP                  V n        VP                  V n        VP                  V n        VP                  V n        V P                  V n        V P                  V n        VP                  V n        VP                  V n        VP                  V n	        VP                  V n
        VP                  V n        VP                  V n        VP                  V n        VP                  V n        VP                  V n        VP                   V n        VP"                  V n        VP$                  V n        VP&                  V n        VP(                  V n        VP*                  V n        VP,                  V n        VP.                  V n        VP0                  V n        VP2                  V n        VP4                  V n        VP6                  V n        VP8                  V n        VP:                  V n        VP<                  V n        VP>                  V n        VP@                  V n         VPB                  V n!        VPD                  V n"        VPF                  V n#        VPH                  V n$        VPJ                  V n%        VPL                  V n&        VPN                  V n'        VPP                  V n(        VPR                  V n)        R # R # r   )*r   rD   rE   rF   rG   rH   rI   rJ   rK   rL   
wait_crawlrM   rN   rO   rP   rQ   rR   rS   r&   rT   rU   rV   rW   rX   rY   rZ   r[   r\   r]   wait_batch_scraper^   r_   r`   ra   rb   rc   rd   re   rf   rg   rh   ri   r)   s   &&r   r+   AsyncV2Proxy.__init__   sD   &?)00DK+44DM$3$D$DD!,;,T,TD)"&--D)-)>)>D&)00DK(..DJ.::D-88DO$3$D$DD!)8)N)ND& / < <D$3$D$DD!%4%F%FD"!0!>!>D(7(L(LD%*22DL!0!>!>D&5&H&HD#(..DJ.::D$3$D$DD! / < <D&5&H&HD#+:+R+RD(0?0\0\D-'6'J'JD$%4%F%FD" / < <D+:+R+RD(&**DH#2#B#BD $3$D$DD!#2#B#BD $3$D$DD!*22DL#2#B#BD "1"@"@D!0!>!>D*22DL_ r   c                n    V P                   '       d   \        V P                   V4      # \        RV 24      h)rl   z%Async v2 client not implemented yet: )r   rm   AttributeErrorrn   s   &&r   rp   AsyncV2Proxy.__getattr__   s/    <<<4<<..DTFKLLr   c                6   < V ^8  d   Qh/ S[ S[,          ;R&   # r/   r~   )r   r   s   "r   r   r      s     *+2 r   )*r   rR   rV   r^   re   rf   rY   r]   rO   rK   rS   rg   rI   r&   rQ   rX   r_   r[   r\   ra   rP   rM   rN   rb   rU   rd   rc   rE   rh   r`   rD   rH   rJ   rW   rZ   rL   rT   rF   rG   r   r   ri   r   )r2   r3   r4   r5   r6   r   r+   rp   r7   r8   r9   r:   s   @r   r|   r|      s&     S.2G23 23hMq  r   r|   c                   :   a  ] tR t^t o RtRV 3R lR lltRtV tR# )	Firecrawlz
Unified Firecrawl client (v2 by default, v1 under ``.v1``).

Provides a single entrypoint that exposes the latest API directly while
keeping a feature-frozen v1 available for incremental migration.
Nc          
      8   < V ^8  d   QhRS[ RS[ RS[RS[RS[/# r   api_keyapi_urltimeoutmax_retriesbackoff_factorstrfloatint)r   r   s   "r   r   Firecrawl.__annotate__   sD     O/ O/O/ O/ 	O/
 O/ O/r   c                D	   Wn         W n        \        '       d   \        WR7      MRV n        \        '       d   \	        VVVVVR7      MRV n        V P                  '       d   \        V P                  4      MRV n        \        V P
                  4      V n	        V P
                  P                  V n
        V P
                  P                  V n        V P
                  P                  V n        V P
                  P                  V n        V P                  V n        V P                  V n        V P
                  P                   V n        V P
                  P"                  V n        V P
                  P$                  V n        V P
                  P&                  V n        V P
                  P(                  V n        V P
                  P*                  V n        V P
                  P,                  V n        V P
                  P.                  V n        V P
                  P0                  V n        V P
                  P2                  V n        V P
                  P4                  V n        V P
                  P6                  V n        V P
                  P8                  V n        V P
                  P:                  V n        V P
                  P<                  V n        V P
                  P>                  V n        V P
                  P@                  V n         V P
                  PB                  V n!        V P
                  PD                  V n"        V P
                  PF                  V n#        V P
                  PH                  V n$        V P
                  PJ                  V n%        V P
                  PL                  V n&        V P
                  PN                  V n'        V P
                  PP                  V n(        V P
                  PR                  V n)        V P
                  PT                  V n*        V P
                  PV                  V n+        V P
                  PX                  V n,        V P
                  PZ                  V n-        V P
                  P\                  V n.        V P
                  P^                  V n/        V P
                  P`                  V n0        R# )as  Initialize the unified client.

Args:
    api_key: Firecrawl API key (or set ``FIRECRAWL_API_KEY``)
    api_url: Base API URL (defaults to production)
    timeout: Default request timeout in seconds for all HTTP requests
    max_retries: Maximum number of retries for failed requests (default: 3)
    backoff_factor: Exponential backoff factor for retries (default: 0.5)
r   r   Nr   r   r   r   r   )1r   r   r   
_v1_clientrA   
_v2_clientr   v1r=   v2rD   rE   rF   rG   rH   rI   rJ   r`   rK   rL   rS   rM   rN   rO   rP   rQ   rR   rZ   r[   r\   r]   r^   r_   rT   rU   r&   rW   rX   rY   rV   ra   rb   rc   rd   re   rf   rg   rh   ri   r*   r   r   r   r   r   s   &&&&&&r   r+   Firecrawl.__init__   s)   "  O]n.Jbf  ,#)
 %) 	 /3ooo'$//*4$//*oo,,00 $ @ @(,(P(P%"mm%)%:%:"oo,,??&&__**
??66$(OO$H$H! $ @ @%)__%J%J" OO88 $ @ @!%!B!B!__::"&//"D"D'+'N'N$,0OO,X,X)#'??#F#F  OO88'+'N'N$!__::"&//"D"D..??66 $ @ @ OO88__**
#>> $ @ @#>> $ @ @..#>>"oo<<!__::..r   )-r   r   rR   rV   r   r   r^   re   rf   rY   r]   rO   rK   rS   rg   rI   r&   rQ   rX   r_   r[   r\   ra   rP   rM   rN   rb   rU   rd   rc   rE   rh   r`   rD   rH   rJ   rW   rZ   rL   rT   rF   rG   r   r   ri   Nzhttps://api.firecrawl.devN   g      ?r2   r3   r4   r5   r6   r+   r8   r9   r:   s   @r   r   r      s     O/ O/ O/r   r   c                   :   a  ] tR tRt o RtRV 3R lR lltRtV tR# )AsyncFirecrawli  zAAsync unified Firecrawl client (v2 by default, v1 under ``.v1``).Nc          
      8   < V ^8  d   QhRS[ RS[ RS[RS[RS[/# r   r   )r   r   s   "r   r   AsyncFirecrawl.__annotate__  sD     G/ G/G/ G/ 	G/
 G/ G/r   c                	   Wn         W n        \        '       d   \        WR 7      MRV n        \        '       d   \	        VVVVVR7      MRV n        V P                  '       d   \        V P                  4      MRV n        \        V P
                  4      V n	        V P
                  P                  V n
        V P
                  P                  V n        V P
                  P                  V n        V P
                  P                  V n        V P                  V n        V P                  V n        V P
                  P                   V n        V P
                  P"                  V n        V P
                  P$                  V n        V P
                  P&                  V n        V P
                  P(                  V n        V P
                  P*                  V n        V P
                  P,                  V n        V P
                  P.                  V n        V P
                  P0                  V n        V P
                  P2                  V n        V P
                  P4                  V n        V P
                  P6                  V n        V P
                  P8                  V n        V P
                  P:                  V n        V P
                  P<                  V n        V P
                  P>                  V n        V P
                  P@                  V n         V P
                  PB                  V n!        V P
                  PD                  V n"        V P
                  PF                  V n#        V P
                  PH                  V n$        V P
                  PJ                  V n%        V P
                  PL                  V n&        V P
                  PN                  V n'        V P
                  PP                  V n(        V P
                  PR                  V n)        V P
                  PT                  V n*        V P
                  PV                  V n+        V P
                  PX                  V n,        V P
                  PZ                  V n-        V P
                  P\                  V n.        V P
                  P^                  V n/        R# )r   Nr   )0r   r   r   r   r
   r   rt   r   r|   r   rD   rE   rF   rG   rH   rI   rJ   r`   rL   rM   rN   rO   rK   rP   rR   rS   rZ   r[   r\   r]   r^   r_   rT   rU   r&   rW   rX   rY   rV   ra   rb   rc   rd   re   rf   rg   rh   ri   r   s   &&&&&&r   r+   AsyncFirecrawl.__init__  s     TgSf-gOlp "! /#)
 (, 	 48???,t/t/ oo,,00 $ @ @(,(P(P%"mm%)%:%:"oo,,??&&??66 $ @ @%)__%J%J" OO88__**
 $ @ @!__::$(OO$H$H!"&//"D"D'+'N'N$,0OO,X,X)#'??#F#F  OO88'+'N'N$!__::"&//"D"D..??66 $ @ @ OO88__**
#>> $ @ @#>> $ @ @..#>>"oo<<!__::..r   ),r   r   rR   rV   r   r   r^   re   rf   rY   r]   rO   rK   rS   rg   rI   r&   rX   r_   r[   r\   ra   rP   rM   rN   rb   rU   rd   rc   rE   rh   r`   rD   rH   rJ   rW   rZ   rL   rT   rF   rG   r   r   ri   r   r   r:   s   @r   r   r     s     KG/ G/ G/r   r   )r6   typingr   r   r   r   r   loggingr   r   r   r   r	   rA   v2.client_asyncr
   v2.typesr   	getLoggerloggerr   r=   rt   r|   r   r   FirecrawlAppAsyncFirecrawlApp r   r   <module>r      s   ( 4 3  4 4 1 			;	'I I&8+ 8+tI I&<M <M~W/ W/rJ/ J/Z " r   