import requests
import time
response = requests.post(
"https://api.monid.ai/v1/run",
headers={
"Authorization": "Bearer monid_live_...",
"Content-Type": "application/json",
},
json={
"provider": "apify",
"endpoint": "/apidojo/tweet-scraper",
"input": {
"searchTerms": ["AI"],
"maxItems": 10,
},
},
)
data = response.json()
if response.status_code == 200:
result = data
else:
run_id = data["runId"]
while True:
result = requests.get(
f"https://api.monid.ai/v1/runs/{run_id}",
headers={"Authorization": "Bearer monid_live_..."},
).json()
if result["status"] in ("COMPLETED", "FAILED"):
break
time.sleep(5)
if result["status"] == "FAILED":
print("Infrastructure error")
elif result.get("providerResponse", {}).get("httpStatus", 200) >= 400:
print(f"Provider error: HTTP {result['providerResponse']['httpStatus']}")
else:
print(f"Success: {result.get('output')}")