View Model Filling Fields
If you aren't considering using a mapping solution such as AutoMapper, you could make this code a bit more succient by removing some of the local variables and creating a couple of local methods that are responsible for creating the select lists.

The end solution would look something along the lines of:

public ActionResult Create()
{
    var viewModel = new CreateAPIViewModel
    {
        Team = ToSelectList(team.getAllTeams(),0),
        Application = ToSelectList(application.getAllApplications(),0)
    };

    //Send view model back
    return View(viewModel);
}

private List&lt;SelectListItem&gt; ToSelectList(IEnumerable&lt;Team&gt; applications, int selectedApplicationId)
{
    return applications
            .ToList()
            .Select(p =&gt;
                new SelectListItem 
                { 
                    Value = Convert.ToString(item.ID), 
                    Text = item.Name,
                    Selected = item.ID == selectedApplicationId
                });                 
}

private List&lt;SelectListItem&gt; ToSelectList(IEnumerable&lt;Team&gt; teams)
{
    return teams
            .ToList()
            .Select(p =&gt;
                new SelectListItem 
                { 
                    Value = Convert.ToString(item.ID), 
                    Text = item.Name,
                    Selected = item.ID == selectedTeamId
                });                 
}


This has the added benefit in that you most likely have a Edit() action as well.  You could re-use these methods.

public ActionResult Edit()
{
    var viewModel = new CreateAPIViewModel
    {
        Team = ToSelectList(team.getAllTeams(),team.Id),
        Application = ToSelectList(application.getAllApplications(),application.Id)
    };

    //Send view model back
    return View(viewModel);
}