The detentions were part of a major operation that was launched on Monday, a day after Turkey and the European Union reached a deal to stem the flow of refugees into Europe.
The Turkish coastguard apprehended a total of 2,933 migrants, mainly from Syria and Iraq, as they were preparing to make their way to the Greek island of Lesbos from the northwestern town of Ayvacik in Canakkale province, Dogan news agency reported.
The migrants will be sent to a detention centre where some could face deportation, Dogan said, without giving details.
At a summit in Brussels, the European Union vowed to provide three billion euros ($3.2 billion) in cash as well as political concessions to Ankara in return for its cooperation in tackling Europe's worst migrant crisis since World War II.
More From This Section
Turkey hosts more than two million refugees from the Syrian conflict and is the main launching point for migrants coming to Europe, via Greece.
More than 886,000 migrants have arrived in Europe by sea so far this year, according to the latest UN figures.