There are currently two main ways to do this, one supported and one not.
Supported: Run an instance of translation-server [1] in Docker,
restarted daily (for now) to update translators. Send URLs at that
server, and then post the returned JSON to the Zotero API.
Unsupported: curl -d '{ "url": "
https://example.com" }' -H
"Content-Type: application/json"
https://api.zotero.org/users/1/items
In either case, you might get a 300 and will need to delete unwanted
results from the 'items' object and resend the JSON. (The format differs
slightly, but that shouldn't matter to you.)
The latter approach is currently undocumented, it could change in the
future, and we can't make any guarantees about it, but as long as you're
saving to your Zotero library you're welcome to use it. (It shouldn't be
used for generic translation to non-Zotero destinations. In those cases
we ask that people run their own translation-server.)
For manual web-based saving,
https://www.zotero.org/save can also be
used, including with an optional 'q' query parameter.
We'll have some other options for online saving in the near future.
Note that, for all these methods, the results won't always be as good as
you'd get from the Zotero client, and won't include PDFs. An upcoming
Zotero version will provide a way of trying to update/improve metadata
after the fact, and you can use Find Available PDF(s) in Zotero to try
to retrieve PDFs for saved items.
[1]
https://github.com/zotero/translation-server