Importing a product
Paste a URL; Guiru reads what is already public and you confirm what becomes the listing.
You already described your product once — on its website, in its repository, in a store. Guiru reads that instead of asking you to type it again. Open Builder → Submit, paste the address, press Import product.
What gets read
- Any websiteOpen Graph, title, description, icons, images, canonical URL
- JSON-LD (
SoftwareApplication,Product) when the page publishes it: name, description, operating system, a public price. - GitHub repositoryname, description, homepage, topics, licence, owner, releases
- The README's first screenshot and first paragraph. When the repository declares a homepage, that page is read too and wins for logo, screenshots and the store link.
- Any other public pagetitle, description, images, platform
- Read by the generic importer. There is no store-specific integration: a Steam or itch.io address is read as a web page, and what it gives up is what its Open Graph tags say.
- Amazontitle, cover, authors
- Only through the Product Advertising API when the instance has it. Never scraped.
What happens next
Nothing is published. You see what Guiru found, drawn like a product card, with *Check this* next to anything the source was vague about. You fix what needs fixing, answer one question — *how do people get it?* — and submit. It enters the same review as every other product.
Already on Guiru?
Before anything is created, the address, its host, the repository and known external ids are checked against the catalogue. A match shows *This may already be on Guiru* with the right door: claim it if it is yours and unclaimed, edit it if you already own it, or tick *it's a different product* and continue. The importer never claims on your behalf — proving control of a domain or a repository is still yours to do.
When the import fails
The reason is said in words — *this looks like a private or local address*, *the site answered HTTP 503*, *that address is a PDF, not a web page*, *GitHub is rate-limiting us* — and Start manually is always one click away with the address prefilled. An import that fails is a reason to type, not a wall.
Safety
Every fetch goes through the same guard as every other outbound request Guiru makes: public hosts only, loopback and private ranges refused, redirects checked hop by hop, an eight-second timeout, a 600 KB body limit, and the content type must be what was asked for. Pictures are referenced, not copied.