{"description":"Searches pub.dev, the Dart and Flutter package index, like its packages page: package name, latest version, description, pub points and link. First page of results (about 10 packages, in the site's order). Returns an empty list when nothing matches.","effect":"read","id":"pub.dev/search-packages","keywords":["pub.dev","pub","dart","flutter","dart packages","flutter packages","packages","plugins","library","libraries","http","provider","riverpod"],"output":{"schema":{"properties":{"packages":{"items":{"properties":{"description":{"type":["string","null"]},"name":{"type":"string"},"points":{"description":"Pub points, the package health and quality score out of 160","type":["integer","null"]},"url":{"type":"string"},"version":{"type":["string","null"]}},"required":["name","url"],"type":"object"},"type":"array"},"query":{"type":"string"}},"required":["query","packages"],"type":"object"},"value":"{query: params.query, packages: steps.search.packages[?name != `null` && href != `null`].{name: name, version: (version_label && split(version_label, ' ')[2]) || `null`, description: description || `null`, points: (points && to_number(points)) || `null`, url: join('', ['https://pub.dev', href])}}"},"params":{"additionalProperties":false,"properties":{"query":{"description":"Package name or keyword, e.g. 'http', 'provider', 'camera flutter'","maxLength":100,"minLength":2,"type":"string"}},"required":["query"],"type":"object"},"provenance":{"method":"har","notes":"GET /packages?q=<query> answers 200 HTML with the first page of results as div.packages-item. Name and link come from the title link, description from the description span, version from the title attribute of the version link ('Visit <name> <version> page'), and points from the health score. Likes and 30-day downloads are not returned: they are abbreviated (for example 8.48k, 14.8M) in the page.","recorded_at":"2026-11-08T16:30:00.000Z","recorded_by":"wield-forge (claude-haiku agent)"},"requires_login":false,"schema":"https://wield.run/schema/recipe/v1.json","site":{"country":"US","id":"pub.dev","language":"en","name":"pub.dev","origin":"https://pub.dev","origins":["https://pub.dev"]},"steps":[{"description":"Server-rendered search results page /packages?q=…; read-only GET. Each result is div.packages-item with a title link (h3.packages-title), a description, a version link whose title reads 'Visit <name> <version> page' and a pub points score.","expect":{"content_type":"html","status":[200]},"extract":{"html_items":{"packages":{"fields":{"description":{"selector":"div.packages-description > span"},"href":{"attr":"href","selector":"h3.packages-title > a"},"name":{"selector":"h3.packages-title > a"},"points":{"selector":".packages-score-health .packages-score-value-number"},"version_label":{"attr":"title","selector":"a[title^='Visit']"}},"max":50,"selector":"div.packages-item"}}},"id":"search","request":{"headers":{"Accept":"text/html"},"method":"GET","query":{"q":"{{params.query}}"},"url":"/packages"}}],"task":"Search Dart and Flutter packages","tos":{"notes":"Not reviewed. One search page per call, the same page a visitor loads. The site's terms on automated access were not checked.","reviewed":false},"verify":{"checks":["length(output.packages) > `0`","length(output.packages[?starts_with(url, 'https://pub.dev/packages/')]) == length(output.packages)","length(output.packages[?name != `null`]) == length(output.packages)","length(output.packages[?version != `null`]) > `0`"],"example_params":{"query":"http"},"max_ms":5000},"version":1}