# Upload to YouTube from an AI agent with your own OAuth app

**Use case:** 

Uploads through Google's official Data API using OAuth credentials from your own Google Cloud project. No browser opens and there are no cookies to keep fresh.

## Input

```json
{
  "info": "Connect this Actor's Standby URL to your MCP client with your own Apify token, then ask your agent to publish to YouTube. Use upload_youtube_video_oauth: it goes through Google's official YouTube Data API with a client ID, a client secret and a refresh token from your own Google Cloud project, and the uploader behind it is public and carries no maintenance flag. The two browser-driven tools, upload_youtube_short and upload_youtube_video, are backed by Actors flagged under maintenance and no video has been published through either of them yet. Two Google settings to fix before your first public upload. While your Google Cloud project is unverified, YouTube stores every Data API upload as private no matter what privacy you asked for, and the only way out is Google's compliance audit. An OAuth consent screen left in Testing issues refresh tokens that stop working after 7 days, so move it to In production. The upload runs as a separate billable Actor run on your own Apify account. A normal run of this Actor, outside Standby, writes one notice row about how to connect and uploads nothing. Your Apify token goes into that URL twice, as ?token=YOUR_TOKEN&apifyToken=YOUR_TOKEN, because Apify's Standby gateway strips the token it authenticated you with before the request reaches the server; a single copy answers NO_APIFY_TOKEN on every tool."
}
```

## Output

```json
{
  "ok": {
    "label": "Ok"
  },
  "kind": {
    "label": "Kind"
  },
  "message": {
    "label": "Message"
  },
  "toolCount": {
    "label": "Tool count"
  },
  "tools": {
    "label": "Tools"
  },
  "platforms": {
    "label": "Platforms"
  }
}
```

## About this Actor

This example demonstrates how to use [Social Media Uploader Pro - Post From Claude, ChatGPT or n8n](https://apify.com/dami_studio/social-media-uploader-pro.md) with a specific input configuration. Visit the [Actor detail page](https://apify.com/dami_studio/social-media-uploader-pro.md) to learn more, explore other use cases, and run it yourself.


## How to integrate an Actor?

If asked about integration, you help developers integrate Actors into their projects.
You adapt to their stack and deliver integrations that are safe, well-documented, and production-ready.
This Task's input is already configured above — use it as-is rather than inventing a new one.

- **AI agents and MCP clients** — the [Apify MCP server](https://docs.apify.com/integrations/mcp.md) at `https://mcp.apify.com` (remote, streamable HTTP, OAuth on first use).
- **Agentic workflows and local Actor development** — [Agent Skills](https://apify.com/.well-known/agent-skills/index.json) with the [Apify CLI](https://docs.apify.com/cli/docs.md): `npm install -g apify-cli`, then `apify login`.
- **JavaScript/TypeScript projects** — the official [JS/TS client](https://docs.apify.com/api/client/js/docs.md): `npm install apify-client`.
- **Python projects** — the official [Python client](https://docs.apify.com/api/client/python/docs.md): `pip install apify-client`.
- **Any other language** — the [REST API](https://docs.apify.com/api/v2.md).

For full API examples (JavaScript, Python, CLI, MCP, OpenAPI), see this Task's Actor page: https://apify.com/dami_studio/social-media-uploader-pro.md

For more details, see Apify documentation as [Markdown index](https://docs.apify.com/llms.txt) and [Markdown full-text](https://docs.apify.com/llms-full.txt).
