API Reference
endpoints.
Some routes you might find useful. Every route lists auth, params and a copy-paste curl example.
General
view counts
/api/viewsSee how many times the site and each page have been viewed.
- Auth
- none
- Returns
{ success, views, routes, timestamp }
curl "https://www.yourpov.dev/api/views"
record a view
/api/viewsAdds one view for this IP today.
- Auth
- none
- Query
routepage path, like /tools- Returns
{ success, views, routes, timestamp }
curl -X POST "https://www.yourpov.dev/api/views?route=/tools"
Reviews
published reviews
/api/reviewslist of reviews shown on my site.
- Auth
- none
- Returns
{ success, reviews, timestamp }
curl "https://www.yourpov.dev/api/reviews"
Lookups
discord lookup
/api/lookup/discordLook up a discord profile, including its banner, badges, status and activity. limited per IP.
- Auth
- none
- Query
userrequireduser id or profile link- Returns
{ success, profile, timestamp }
curl "https://www.yourpov.dev/api/lookup/discord?user=1470172610636808425"
roblox lookup
/api/lookup/robloxLook 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 setoutfitsuser id whose outfits to listcursorcursor for the next page of outfits- Returns
{ success, profile | outfits, timestamp }
curl "https://www.yourpov.dev/api/lookup/roblox?user=builderman"
media downloader
/api/lookup/mediaPull mp4, images and gifs from an X post. limited per IP.
- Auth
- none
- Query
urlrequiredx post link- Returns
{ success, post, timestamp }
curl "https://www.yourpov.dev/api/lookup/media?url=https://x.com/goingmiaa/status/2087387479494017525"
media file
/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
curl -o "Download.mp4" "https://www.yourpov.dev/api/lookup/twitter/https://x.com/goingmiaa/status/2087387479494017525"
Github
github summary
/api/github-summaryProfile stats from a cache. refreshes about every 30 minutes.
- Auth
- none
- Returns
{ success, summary, timestamp }
curl "https://www.yourpov.dev/api/github-summary"
github streak
/api/github-streakAn svg streak card you can drop into a readme.
- Auth
- none
- Returns
image/svg+xml
<img src="https://www.yourpov.dev/api/github-streak">
Images
random image
/images/waifuGet 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 waifuExcludedTagsrepeatable. skip images with any of these tagsIncludedArtistsrepeatable. artist names to includeExcludedArtistsrepeatable. artist names to skipIncludedIdsrepeatable. only choose from these image idsExcludedIdsrepeatable. never choose these image idsIsNsfwFalse by default, True, or All. True and All need a keyIsAnimatedFalse, True, or AllOrientationAll, Landscape, Portrait, or SquareWidthpixels. exact, or a range like >=1920 or 1280..1920Heightpixels. same format as WidthByteSizebytes. same format. defaults to <=4400000formatimage by default, or json for details about the imagekeykey from /waifu/. pair with IsNsfw=True or All to unlock nsfw and get a higher limit- Returns
image bytes (image/png, image/jpeg, ...)
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
/images/waifuGet the same random pick as image details. the returned url serves the file from this domain.
- Auth
- key only required for nsfw
- Query
formatrequiredjson. the filters from random image work here too- Returns
{ success, image: { url, width, height, tags, artists, source, dominantColor }, attribution, timestamp }
curl "https://www.yourpov.dev/images/waifu?IncludedTags=waifu&format=json"
image by link
/images/waifu/<file>Serve one image from this domain. first call image metadata with format=json, it returns a signed url in image.url. curl that url to download the bytes. the signature expires, so always fetch a fresh url, never hardcode one.
- Auth
- none. the link signature is the permission
- Query
sigrequiredsignature from the image.url returned by format=json (fetch a fresh one, it expires)- Returns
image bytes (image/png, image/jpeg, ...)
URL=$(curl -s "https://www.yourpov.dev/images/waifu?IncludedTags=waifu&format=json" | jq -r .image.url) curl -o waifu.png "$URL"
$URL = (curl.exe -s "https://www.yourpov.dev/images/waifu?IncludedTags=waifu&format=json" | jq -r .image.url) curl.exe -o waifu.png $URL
NoteThe filter step needs jq installed.
Keys
api keys
/waifu/Generate a key without making an account. it unlocks nsfw images plus a higher limit.
- Auth
- none
- Returns
text/html
https://www.yourpov.dev/waifu/
NoteOpen the URL above in your browser. the key stays in this browser.
generate a key
/api/keys/generateMake 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 }
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
/api/keys/listList 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 }
curl -s -b cookies.txt "https://www.yourpov.dev/api/keys/list"
revoke a key
/api/keys/revokeRevoke 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 }
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\"}"$KEY_ID = ""
$Body = @{ id = $KEY_ID } | ConvertTo-Json -Compress
curl.exe -s -X DELETE "https://www.yourpov.dev/api/keys/revoke" -H "Content-Type: application/json" -b cookies.txt -d $BodyNoteReplace the id with one from the generate or list response above.
Meta
this page
/api/endpointsGet this list as json.
- Auth
- none
- Query
formatset to json for the list- Returns
html, or { success, endpoints, timestamp }
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.