Rendering, Waits, and Proxies¶
This page focuses on the browser-style controls available through the unified scrape endpoint.
Render JavaScript-heavy pages¶
from toolkitapi import Scrape
with Scrape(api_key="tk_...") as scrape:
result = scrape.fetch(
url="https://toolkitapi.io/app",
render_js=True,
output="html",
)
print(result["js_rendered"])
Wait until the page is ready¶
Use one of these browser wait modes:
- load
- domcontentloaded
- networkidle
from toolkitapi import Scrape
with Scrape(api_key="tk_...") as scrape:
result = scrape.render_page(
url="https://toolkitapi.io/dashboard",
wait_until="load",
output="clean",
)
Wait for a DOM element¶
from toolkitapi import Scrape
with Scrape(api_key="tk_...") as scrape:
result = scrape.render_page(
url="https://toolkitapi.io/search",
wait_for="#results",
wait_timeout=20000,
output="text",
)
Infinite-scroll style pages¶
from toolkitapi import Scrape
with Scrape(api_key="tk_...") as scrape:
result = scrape.render_page(
url="https://toolkitapi.io/feed",
scroll=True,
wait_until="networkidle",
output="markdown",
)
Block expensive resources¶
from toolkitapi import Scrape
with Scrape(api_key="tk_...") as scrape:
result = scrape.render_page(
url="https://toolkitapi.io",
block_resources=["image", "font", "media"],
output="text",
)
Use stealth mode¶
from toolkitapi import Scrape
with Scrape(api_key="tk_...") as scrape:
result = scrape.render_page(
url="https://toolkitapi.io/protected",
stealth=True,
output="html",
)
Send custom headers¶
from toolkitapi import Scrape
with Scrape(api_key="tk_...") as scrape:
result = scrape.fetch(
url="https://httpbin.org/headers",
headers={
"Accept-Language": "en-GB,en;q=0.9",
"X-Debug": "true",
},
output="html",
)
Pass custom cookies¶
from toolkitapi import Scrape
with Scrape(api_key="tk_...") as scrape:
result = scrape.fetch(
url="https://toolkitapi.io/account",
render_js=True,
cookies=[
{
"name": "sessionid",
"value": "abc123",
"domain": ".toolkitapi.io",
}
],
output="text",
)
Reuse a browser session¶
from toolkitapi import Scrape
with Scrape(api_key="tk_...") as scrape:
scrape.render_page(
url="https://toolkitapi.io/login",
session_name="saved-session",
)
page = scrape.render_page(
url="https://toolkitapi.io/account",
session_name="saved-session",
output="text",
)
print(page["content"])
Proxy options¶
from toolkitapi import Scrape
with Scrape(api_key="tk_...") as scrape:
us_page = scrape.fetch(
url="https://toolkitapi.io",
proxy="US",
output="html",
)
dc_page = scrape.fetch(
url="https://toolkitapi.io",
proxy="datacenter",
output="html",
)
Notes¶
- Use proxy values like US or GB for country-targeted requests
- Use datacenter when you want a standard shared proxy mode
- Prefer wait_for or wait_until over arbitrary delays when possible
- If you need HTML-to-image rendering, use the Image toolkit endpoint /v1/image/from-html alongside this one