DuckDuckGo Search
A Dart package for DuckDuckGo search API. Supports text, image, video, and news search with filters.
Features
- Text search
- Image search with filters (size, color, type, layout, license)
- Video search with filters (resolution, duration, license)
- News search with filters (time limit, region)
- Search suggestions and instant answers
- Rate limit protection and error handling
Usage
final search = DuckDuckGoSearch();
// Text search
final results = await search.text('dart programming');
// Image search
final images = await search.images('nature',
size: 'Wallpaper',
color: 'Green',
layout: 'Wide'
);
// Video search
final videos = await search.videos('tutorials',
resolution: 'high',
duration: 'long'
);
// News search
final news = await search.news('technology',
timelimit: 'd', // last 24 hours
region: 'wt-wt'
);
// Suggestions
final suggestions = await search.suggestions('dart');
// Instant answers
final answer = await search.answers('population of france');
Installation
Add the following dependency to your pubspec.yaml
file:
dependencies:
duckduckgo_search: ^0.2.0
Then, run flutter pub get
or dart pub get
to install the package.
Usage
Import the package in your Dart file:
import 'package:duckduckgo_search/duckduckgo_search.dart';
Perform a search:
void main() async {
final results = await DuckDuckGoSearch.text('dartlang');
for (var result in results) {
print(result.title);
print(result.url);
print(result.body);
print('---');
}
}
Request search suggestions:
void main() async {
final results = await DuckDuckGoSearch.suggestions('dartlang');
for (var suggestion in results) {
print(suggestion);
}
}
quick answer:
void main() async {
final answer = await DuckDuckGoSearch.answer('who is miles davis');
print(answer.answerAbstract);
}
Contributing
Contributions are welcome! Please open an issue or submit a pull request on GitHub.
License
This project is licensed under the MIT License. See the LICENSE file for details.
Changelog See the CHANGELOG file for version history.
Acknowledgements
This library is a Dart port of the Python duckduckgo_search library.
Libraries
- duckduckgo_search
- Provides support for performing DuckDuckGo searches.