import os, time, requests
base = "https://api.prefetch.io"
headers = {"X-API-Key": os.environ["PREFETCH_API_KEY"]}
domains = ["stripe.com", "linear.app", "notion.so", "figma.com", "vercel.com"]
job = requests.post(f"{base}/batch/enrich", headers=headers,
json={"urls": domains, "ignore_invalid_urls": True}).json()["data"]
while True:
time.sleep(5)
status = requests.get(f"{base}/batch/enrich/{job['id']}", headers=headers).json()["data"]
if status["status"] not in ("pending", "running"):
break
items, nxt = list(status["data"]), status["next"]
while nxt:
page = requests.get(base + nxt, headers=headers).json()["data"]
items.extend(page["data"])
nxt = page["next"]
companies = [
{
"domain": i["domain"],
"name": (i.get("company") or {}).get("display_name"),
"industry": (i.get("classification") or {}).get("category"),
"description": (i.get("classification") or {}).get("tagline_description"),
}
for i in items if i["ok"]
]