Orbit (deprecated)
Orbit is the old address for one-time Content Research Agents. Use /v1/agents. Your Orbit IDs work there.
At a glance
- What it does
- Starts a one-time agent. Past its August 3, 2026 removal date, so it can stop anytime.
- Cost
- $0.50 per run, or $1.50 with Data Intelligence (AI breakdowns of the videos), charged up front on either address. Results are free, except agent hooks ($0.25 without Data Intelligence).
- Limits
- On Pro, Orbit allows 2 new runs a minute (50 a day, errors count) and 50 a minute for reading lists, agent details, videos, ads or outliers.
/v1/agentshas only the daily limit.
Old address to new address
| Old | New |
|---|---|
POST /v1/orbit | POST /v1/agents |
GET /v1/orbit or /v1/orbit/list | GET /v1/agents?is_recurring=false |
GET /v1/orbit/:id/... | GET /v1/agents/:id/... |
Change what you send
/v1/agents rejects unknown fields (error 400), so:
- Add the required
is_recurring: falseandintent(one sentence on your goal). - Rename
enable_meta_adstometa_ads_enabled. keywords: up to 50 (was 10).nameis optional.- Remove
min_views,time_periodandrun_analysis(Orbit ignored them). Filter views and dates on/videos.
POST /v1/agents
curl -X POST https://api.virlo.ai/v1/agents \
-H "Authorization: Bearer YOUR_API_KEY" \
-H "Content-Type: application/json" \
-d '{
"is_recurring": false,
"intent": "Find viral home espresso videos to plan content for a coffee gear brand",
"name": "Home espresso",
"keywords": ["home espresso", "espresso machine"],
"platforms": ["tiktok", "youtube"],
"meta_ads_enabled": true
}'
Filter when you read
curl "https://api.virlo.ai/v1/agents/{agent_id}/videos?min_views=10000&start_date=2026-09-01T00:00:00Z&end_date=2026-09-30T23:59:59Z" \
-H "Authorization: Bearer YOUR_API_KEY"
Update how you read results
data.orbit_idis nowdata.id.- List:
orbits,totalbecomeagents,page,count(this page only).createdAtbecomescreated_at; status and video count moved toGET /v1/agents/:id. GET /v1/agents/:idhas alatest_runsummary instead ofresultsandintent_summary. Get videos from/videos.orbit_id,orbit_nameandhasMorebecomeagent_id,agent_nameandhas_more.- Done means
finalized: true. Iflatest_run.statusispartial_failure, one platform or keyword failed but the rest is usable (Orbit reportedcompleted).
Webhooks
Each run sends orbit.run.completed and content_research_agent.run.completed. Subscribe to both (an update replaces the whole enabled_events list), then drop the old one.
The new event has the same orbit object, plus is_recurring (failed runs use content_research_agent instead).

