Every image.
One API.
Search the web for images and get back URLs, sources and metadata your product can use. One query or thousands, in a single job.
Selected result
{
"title": "Sculptural white architecture",
"image_url": "https://images.unsplash.com/…",
"source_domain": "unsplash.com",
"query": "concrete architecture",
"license_status": "unknown"
}Illustrative sample. Real results come from the live source with their own URLs and dimensions.
Pluko finds the right image, tells you where it came from, and hands it to your code as clean JSON. No scraping scripts. No stored files. No guesswork.
How it works
Three steps.
No scraping code.
01
Ask.
Send one query, or a batch with how many images each one needs. Pluko answers straight away with a job ID, so your request never hangs.
POST/v1/images/search
{
"queries": [
{ "query": "concrete architecture", "count": "40" },
{ "query": "quiet mountain landscapes", "count": "40" }
],
"min_width": 1200
}02
Pluko searches.
Pages are fetched in the background. Repeats are skipped, blocked sources are removed, and likely watermarked sites are ranked lower.
03
You build.
Read results a hundred at a time, or let a signed webhook tell your server the moment the job finishes.
POST/v1/images/search
{
"queries": [
{ "query": "concrete architecture", "count": "40" },
{ "query": "quiet mountain landscapes", "count": "40" }
],
"min_width": 1200
}For developers
Built for your backend.
A small, versioned HTTP API. Create a job, check on it, read the results. Every response carries a request ID you can trace in the dashboard.
Request
curl -X POST "$PLUKO_URL/v1/images/search" \
-H "Authorization: Bearer $PLUKO_API_KEY" \
-H "Content-Type: application/json" \
-d '{
"query": "concrete architecture",
"count": "15",
"min_width": 1000
}'Response 202
{
"job_id": "job_example",
"reused": false,
"status_url": "/v1/jobs/job_example",
"results_url": "/v1/jobs/job_example/results",
"request_id": "req_example"
}Async by design
A search returns a job at once. Big requests are paged, never one long HTTP call.
Signed webhooks
HMAC-signed job.finished events with retries, so you don’t have to poll.
Keys you control
Scoped, expiring keys per project. Rotate or revoke in one click.
OpenAPI 3.1
Generate a typed client from the published schema.
The workspace
Everything in one place.
Try queries, follow jobs, read request logs and manage keys and webhooks, without writing a line of code first.
Sample data. Your workspace shows your own projects and usage.
Playground
Try any query and watch results arrive live.
Jobs and logs
Follow every job and inspect each request and response.
Keys and webhooks
Create, rotate and revoke without a support ticket.
Any subject
From concrete to mountaintops.
Architecture, landscapes, products, textures. Narrow results by size, shape, colour and type, or skip the sites you don’t want.
concrete architecture
concrete architecture
concrete architecture
concrete architecture
concrete architecture
concrete architecture
quiet mountain landscapes
quiet mountain landscapes
quiet mountain landscapes
quiet mountain landscapes
quiet mountain landscapes
quiet mountain landscapes
everyday objects and design
everyday objects and design
everyday objects and design
everyday objects and design
everyday objects and design
everyday objects and design
Responsible by default
URLs, not copies.
Pluko points you to images on the web and tells you where they live. What you reuse, and how, stays your call.
How we handle dataNothing stored
Pluko keeps metadata and logs. It never downloads or hosts image files.
Source always attached
Every result links to the page it came from, so you can check reuse rights.
No licence claims
Licensing is reported as unknown unless a source can prove otherwise.
Fewer watermarks
Likely stock-photo sites rank lower by default, and you can exclude any site per search.
Start building.
Create a workspace, generate a key, and run your first search in a few minutes.