# Ingest from a URL
[View original](https://ittybit.com/guides/ingest-from-url)
## Example
```js
const task = await ittybit.tasks.create({
kind: 'ingest',
url: 'https://ittyb.it/sample.mp4'
});
```
```python
task = ittybit.tasks.create(
kind='ingest',
url='https://ittyb.it/sample.mp4'
)
```
```ruby
task = ittybit.tasks.create(
kind: 'ingest',
url: 'https://ittyb.it/sample.mp4'
)
```
```php
$task = $ittybit->tasks->create([
'kind' => 'ingest',
'url' => 'https://ittyb.it/sample.mp4'
]);
```
```go
task, err := ittybit.Tasks.Create(
context.Background(),
&ittybit.TaskCreateParams{
Kind: "ingest",
URL: "https://ittyb.it/sample.mp4",
},
)
```
```js
const task = await fetch('https://api.ittybit.com/tasks', {
method: 'POST',
headers: { 'Authorization': `Bearer ${ITTYBIT_API_KEY}` },
body: JSON.stringify({
kind: 'ingest',
url: 'https://ittyb.it/sample.mp4'
})
})
```
```bash
curl -X POST https://api.ittybit.com/tasks \
-H "Authorization: Bearer $ITTYBIT_API_KEY" \
-d '{"kind": "ingest", "url": "https://ittyb.it/sample.mp4"}'
```
*(See [SDKs](/sdks) for install and initialization steps.)*
***
## Async
Ingestion will happen asynchronously, and the task will be added to the [Tasks](/docs/tasks) list.
You can poll the [Task Endpoint](/api/tasks/get) to check the status of the task, or setup a [Webhook](/docs/webhooks) to be notified when the task is complete.
If you need to ingest a file synchronously (meaning you wait for the file to be ingested before receiving a response), you can use the [Files](/docs/files) API. See [Ingest](/docs/ingest).