pov.

on this page

homeservicesstackprojectscontact

elsewhere

demosgamestoolstimeendpoints

API Reference

endpoints.

Some routes you might find useful. Every route lists auth, params and a copy-paste curl example.

General

view counts

GET/api/views

See how many times the site and each page have been viewed.

Auth
none
Returns
{ success, views, routes, timestamp }
curlExample
curl "https://www.yourpov.dev/api/views"

record a view

POST/api/views

Adds one view for this IP today.

Auth
none
Query
routepage path, like /tools
Returns
{ success, views, routes, timestamp }
curlExample
curl -X POST "https://www.yourpov.dev/api/views?route=/tools"

Reviews

published reviews

GET/api/reviews

list of reviews shown on my site.

Auth
none
Returns
{ success, reviews, timestamp }
curlExample
curl "https://www.yourpov.dev/api/reviews"

Lookups

discord lookup

GET/api/lookup/discord

Look up a discord profile, including its banner, badges, status and activity. limited per IP.

Auth
none
Query
user requireduser id or profile link
Returns
{ success, profile, timestamp }
curlExample
curl "https://www.yourpov.dev/api/lookup/discord?user=1470172610636808425"

roblox lookup

GET/api/lookup/roblox

Look up a roblox profile, groups, badges and old usernames. pass outfits to get outfit data. limited per IP.

Auth
none
Query
userusername, id or profile link. ignored when outfits is set
outfitsuser id whose outfits to list
cursorcursor for the next page of outfits
Returns
{ success, profile | outfits, timestamp }
curlExample
curl "https://www.yourpov.dev/api/lookup/roblox?user=builderman"

media downloader

GET/api/lookup/media

Pull mp4, images and gifs from an X post. limited per IP.

Auth
none
Query
url requiredx post link
Returns
{ success, post, timestamp }
curlExample
curl "https://www.yourpov.dev/api/lookup/media?url=https://x.com/goingmiaa/status/2087387479494017525"

media file

GET/api/lookup/twitter/<post link>

Download the mp4, image or gif from an X post as file bytes. append the post link to the path, pass index for multi-file posts. limited per IP.

Auth
none
Query
index1-based file number on the post, default 1
Returns
file bytes with content-disposition set to the original file name
curlExample
curl -o "Download.mp4" "https://www.yourpov.dev/api/lookup/twitter/https://x.com/goingmiaa/status/2087387479494017525"

Github

github summary

GET/api/github-summary

Profile stats from a cache. refreshes about every 30 minutes.

Auth
none
Returns
{ success, summary, timestamp }
curlExample
curl "https://www.yourpov.dev/api/github-summary"

github streak

GET/api/github-streak

An svg streak card you can drop into a readme.

Auth
none
Returns
image/svg+xml
curlExample
<img src="https://www.yourpov.dev/api/github-streak">

Images

random image

GET/images/waifu

Get one random waifu.im image through this domain. use the filters below.

Auth
key only required for nsfw
Query
IncludedTagsrepeatable. every tag must match, like waifu
ExcludedTagsrepeatable. skip images with any of these tags
IncludedArtistsrepeatable. artist names to include
ExcludedArtistsrepeatable. artist names to skip
IncludedIdsrepeatable. only choose from these image ids
ExcludedIdsrepeatable. never choose these image ids
IsNsfwFalse by default, True, or All. True and All need a key
IsAnimatedFalse, True, or All
OrientationAll, Landscape, Portrait, or Square
Widthpixels. exact, or a range like >=1920 or 1280..1920
Heightpixels. same format as Width
ByteSizebytes. same format. defaults to <=4400000
formatimage by default, or json for details about the image
keykey from /waifu/. pair with IsNsfw=True or All to unlock nsfw and get a higher limit
Returns
image bytes (image/png, image/jpeg, ...)
curlExample
curl -o waifu.jpg "https://www.yourpov.dev/images/waifu?IncludedTags=maid"
# NSFW:
curl -o waifu.jpg "https://www.yourpov.dev/images/waifu?key=YOUR_KEY&IsNsfw=True"

NoteNSFW needs a key. Generate one free, no account needed: https://www.yourpov.dev/waifu/

image metadata

GET/images/waifu

Get the same random pick as image details. the returned url serves the file from this domain.

Auth
key only required for nsfw
Query
format requiredjson. the filters from random image work here too
Returns
{ success, image: { url, width, height, tags, artists, source, dominantColor }, attribution, timestamp }
curlExample
curl "https://www.yourpov.dev/images/waifu?IncludedTags=waifu&format=json"

Keys

api keys

GET/waifu/

Generate a key without making an account. it unlocks nsfw images plus a higher limit.

Auth
none
Returns
text/html
linkLink
https://www.yourpov.dev/waifu/

NoteOpen the URL above in your browser. the key stays in this browser.

generate a key

POST/api/keys/generate

Make up to 10 keys per browser, 10 per hour and 20 per day per IP. the secret is shown once.

Auth
none
Body
{ label?: string (60 characters or fewer) }
Returns
{ success, id, label, createdAt, key, timestamp }
curlExample
curl -s -X POST "https://www.yourpov.dev/api/keys/generate" -c cookies.txt

NoteSaves an owner cookie to cookies.txt in the current folder. Pass it back with -b on the list and revoke examples below.

your keys

GET/api/keys/list

List the keys generated in this browser. uses the owner cookie saved as cookies.txt by the generate example.

Auth
owner cookie
Returns
{ success, keys: [{ id, label, createdAt, lastUsedAt }], timestamp }
curlExample
curl -s -b cookies.txt "https://www.yourpov.dev/api/keys/list"

revoke a key

DELETE/api/keys/revoke

Revoke it immediately. anything still using it stops working. the id comes from the generate or list response above.

Auth
owner cookie
Body
{ id: "<16 hex chars>" }
Returns
{ success, revoked, timestamp }
curlExample
KEY_ID=
curl -s -X DELETE "https://www.yourpov.dev/api/keys/revoke" -H "Content-Type: application/json" -b cookies.txt -d "{\"id\":\"$KEY_ID\"}"

NoteReplace the id with one from the generate or list response above.

Meta

this page

GET/api/endpoints

Get this list as json.

Auth
none
Query
formatset to json for the list
Returns
html, or { success, endpoints, timestamp }
curlExample
curl "https://www.yourpov.dev/api/endpoints?format=json"

Also on api.yourpov.dev. Note: abuse gets blocked. You can also access the JSON version.