Tackle.net API
Two endpoints. Search the live fishing lure catalog, or import a maker's entire shop in one streaming POST.
Test item search
/api/items-search?q=swimbait&limit=6Click "Run request" to see a live JSON response./api/items-searchqRequired search text. search also works as an alias.
limitOptional result count. Defaults to 12, maximum 50.
categoryOptional exact category slug, like swimbaits.
JSON with items, count, search, and category. Each item can include maker details, price, slug, category, and up to three media images.
Test shop import
Streams Server-Sent Events. Each event is one line of JSON.
POST /api/submit-shop
Content-Type: application/json
{
"url": "yourshop.com"
}curl -N -X POST 'https://tackle.net/api/submit-shop' \
-H 'Content-Type: application/json' \
-d '{"url":"yourshop.com"}'/api/submit-shoptext/event-streamDetect a shop's commerce platform, classify it as a fishing-lure maker, then ingest the catalog. Each new product is enriched with category, weight, length, season, and pros/cons by AI. Up to 500 items per request.
urlRequired shop URL. Bare domains like yourshop.com work.
updateMakerOptional boolean. Re-runs AI on the maker name, logo, and bio.
updateProductsOptional boolean. Re-enriches items already in the catalog.
Server-Sent Events. Each line is data: {...} with a JSON object that has a type. Read the stream until the connection closes. The final event is either done or error.
statusHuman-readable progress string.platformDetected commerce platform (Shopify, BigCommerce, WooCommerce, Wix, GoDaddy, Squarespace, Square Online, Big Cartel).shopShop identity: name, origin, logoUrl, heroUrl, description.feedTotal products discovered in the feed.classificationAI verdict: approved, reason, confidence (0-1), topProducts (sample titles), and forced (true when force=true overrode a rejection).makerMaker upserted in the database (id, slug, created, refreshed).progressPer-product phase: checking, enriching, or saving.itemPer-product result: added, updated, duplicate, error, or capped.doneFinal summary: imported, updated, duplicates, errors, capped, total.errorFatal error. Optional flags: unsupported, notFishing, notMaker, rateLimited.Maker onlyMulti-brand retailers and pure tackle resellers are rejected with notMaker.
500 / requestLarge catalogs are capped per submission. Re-run to pick up the rest.
Anon limits30 submissions per IP per hour and one in-flight request. Signed-in users are exempt.