[Question]
  [
Write a program/function that returns the vote count of its own Stack Exchange answer at the time of its execution.
* Your program/function may access this page ([codegolf.stackexchange.com/questions/82609](https://codegolf.stackexchange.com/questions/82609)) off the internet, however:
* Your program/function may not accept any user input and
* The use of URL shorteners is not allowed
* Your program/function may use only its own source as a reference point to its vote count (for example: no referencing strings of text in its contained answer but not in its own source)
* Your program/function must output its own vote count and **only** its own vote count (for example: no returning all vote counts on this page)
This is code-golf, shortest code wins.
  
[Answer]
# jQuery + JavaScript, 85 bytes
```
$.get("//api.stackexchange.com/posts/82610?site=codegolf",d=>alert(d.items[0].score))
```
```
<script src="https://ajax.googleapis.com/ajax/libs/jquery/2.1.1/jquery.min.js"></script>
```
### History
* -6 bytes because I was using the var `data` instead of `d`.
* -3 bytes thanks to @msh210
* -13 bytes thanks to @CᴏɴᴏʀO'Bʀɪᴇɴ
* -4 bytes thanks to @user6188402
* -5 bytes thanks to @Suever
* -4 bytes thanks to @RobW
### Recommended usage
* Run snippet.
* Upvote.
* Run snippet, and be amazed as the number magically increases.
### Bonus!!
Who doesn't like a bonus?
```
$.getJSON("//api.stackexchange.com/posts/" + prompt() + "?site=codegolf",d=>alert(d.items[0].score));
```
```
<script src="https://ajax.googleapis.com/ajax/libs/jquery/2.1.1/jquery.min.js"></script>
```
Enter the ID into the bonus and it will tell you the score.
~~Even more bonus!! Run this snippet to *automatically* run the program, upvote, and run again! (Requires rep > 15, auth). If it doesn't work, please tell me.~~
[Answer]
# JavaScript ES6, 107 bytes
```
fetch`//api.stackexchange.com/posts/82672?site=codegolf`.then(r=>r.json()).then(b=>alert(b.items[0].score))
```
Real programmers don't use `XMLHttpRequest`. Real programmers use the [Fetch API](https://developer.mozilla.org/en/docs/Web/API/Fetch_API).
[Answer]
# Bash, ~~80~~ ~~79~~ ~~75~~ 69 bytes
```
w3m api.stackexchange.com/posts/82616?site=codegolf|tr ,: \\t|cut -f20
```
For scoring purposes, `\t` should be replaced with a TAB character.
This requires `w3m`, which should be available by default on most Linux distros.
*Thanks to @NoOneIsHere for -2 bytes!*
### How it works
`w3m` is a command-line web browser. It queries the URL and (normally) displays its content in a readable format. Here, we just (ab)use it to avoid the call to `zcat` that `curl` would require, since SE serves the API response gzip-compressed.
`tr ,: \^I` replaces all commas and colons with tabs, which are `cut`'s default field delimiter.
Finally, `cut -f20` removes everything but the twentieth field, which is the vote count.
[Answer]
# JavaScript ES6, ~~175~~ ~~165~~ ~~160~~ 145 bytes
Saved lotsa bytes thanks to Optimizer and Dendrobium! They're all multiples of five!
Using plain ol' javascript. Who needs those newfangled libraries? [Real programmers](https://xkcd.com/378/) use `XMLHttpRequest()`
```
with(new XMLHttpRequest)send(open("get","//api.stackexchange.com/posts/82614?site=codegolf"),onload=_=>alert(response.match(/re..([0-9]+)/)[1]))
```
## Test it out
```
alert=x=>o.innerHTML=x;
with(new XMLHttpRequest)send(open("get","//api.stackexchange.com/posts/82614?site=codegolf"),onload=_=>alert(response.match(/re..([0-9]+)/)[1]))
```
```
*{font-family:Consolas,monospace;}
```
```
<div id=o></div>
```
[Answer]
# [bash](https://www.gnu.org/software/bash/)+[jq](https://stedolan.github.io/jq/), 69 bytes
```
w3m api.stackexchange.com/posts/82615?site=codegolf|jq .items[].score
```
I used `curl` and `zcat` before; `w3m` is inspired by Dennis’s (strikingly similar) answer. It turns out `jq` and `tr`/`cut` have the same byte cost!
[Answer]
# [Convex](http://github.com/GamrCorps/Convex) 0.5, 63 bytes
```
0000000: 22 d1 2e 46 91 32 e5 69 5d b2 66 81 12 a4 8d d1  "..F.2.i].f.....
0000010: 27 40 b5 32 47 68 97 2c b9 5c 22 05 16 49 10 31  '@.2Gh.,.\"..I.1
0000020: 44 9e f3 0a 6a 16 b0 68 91 93 35 0b 96 dc 91 0a  D...j..h..5.....
0000030: 3c 18 80 22 dc 67 27 3c 2f 32 36 39 3d 37 3e     <..".g'</269=7>
```
This retrieves the score from the search page instead of the API, specifically from the query <https://codegolf.stackexchange.com/search?q=inquestion:82714>. Fortunately, `inquestion` also works for answers.
### Verification
```
$ echo $LANG
en_US
$ cat gen.convex
"codegolf.stackexchange.com:80/search?q=inquestion:82714"Ö`"Üg'</269=7>"
$ java -jar Convex/out/builds/convex-0.5/convex/convex.jar gen.conv > count.conv
$ cksum count.conv
2414634109 63 count.conv
$ java -jar Convex/out/builds/convex-0.5/convex/convex.jar count.conv
1
```
### How it works
```
"..."Ü           e# Use the built-in string compression to push
                 e# "codegolf.stackexchange.com:80/search?q=inquestion:82714".
      g          e# Retrieve the HTML page at that URL.
       '</       e# Split at occurrences of '<'.
          269=   e# Select the chunk at index 269.
                 e# This pushes "strong>", followed by the vote count.
              7> e# Discard the leading seven characters.
```
[Answer]
# [05AB1E](http://github.com/Adriandmen/05AB1E), ~~89~~ ~~87~~ 81 bytes
Thanks Python...
```
•1Ö8•D’£Ø ˆå§¾.‡¢ as g;#.¾¿„–(g.ˆåƒÛ('·Ç://ƒËŠˆ.Â‚‹º.ŒŒ/…é/ÿ/').‚Ø())’.er¡14èžz£þ
```
Uses the **CP-1252** encoding.
[Answer]
# MATLAB, 103 bytes
```
g=@getfield;g(g(webread('http://api.stackexchange.com/2.2/posts/82611?site=codegolf'),'items'),'score')
```
[Answer]
# JavaScript (Node.js + [Unirest](http://unirest.io/nodejs.html)), 123 bytes
```
require("unirest").get("http://api.stackexchange.com/posts/82683?site=codegolf").end(x=>console.log(x.body.items[0].score))
```
I like this library, because it automatically parses JSON.
[Answer]
# Julia, ~~128~~ 107 bytes
```
using Requests
f()=split(readall(get("http://api.stackexchange.com/posts/82621?site=codegolf")),r":|,")[20]
```
This is a function that takes no input and returns the score of this post as a string. It requires the `Requests` package to be installed.
How it works:
* `get` makes a GET request to the SE API
* `readall` reads the raw bytes in the response and returns a string
* `split` splits the string at colons and commas
* The 20th element of the resulting array is the score of the post
Saved 21 bytes thanks to Dennis!
[Answer]
# JavaScript (Node.js), 166 Bytes
-1 byte because @CᴏɴᴏʀO'Bʀɪᴇɴ taught me how to count ;)
-4 bytes thanks to @NoOneIsHere
```
require("http").get("http://api.stackexchange.com/posts/82620?site=codegolf",a=>a.on("data",d=>console.log(JSON.parse(require("zlib").gunzipSync(d)).items[0].score)))
```
This is somewhat embarrassing. Dang you SE for gzipping your API! /s
Any improvements are very welcome.
[Answer]
# PHP, 137 bytes
Pretty straight forward. The uncompressing takes a lot of bytes:
```
<?=json_decode(gzinflate(substr(file_get_contents('http://api.stackexchange.com/2.2/posts/82619?site=codegolf'),10)),1)[items][0][score];
```
---
**Ungolfed**
```
print
  json_decode(
    gzinflate(
      substr(
        file_get_contents('http://api.stackexchange.com/2.2/posts/82619?site=codegolf'),
        10
      )
    ),
    1
  )
  [items][0][score];
```
[Answer]
# PHP, 121 bytes
Without api.
```
<?php preg_match('/t ">(.*)/',file_get_contents('http://codegolf.stackexchange.com/posts/82799/ajax-load'),$v);echo$v[1];
```
Gets the whole post and extracts the vote counts with regex. (don't parse HTML with regex!)
Ungolfed:
```
<?php
   preg_match('/t ">(.*)/',
              file_get_contents('http://codegolf.stackexchange.com/posts/82799/ajax-load'),
              $v);
   echo $v[1];
```
[Answer]
# [05AB1E](https://github.com/Adriandmen/05AB1E/wiki/Commands), 45 [bytes](https://github.com/Adriandmen/05AB1E/wiki/Codepage)
```
•2íÐ•’¸¸.Â‚‹º.ŒŒ/„¤/ÿ?€¼=ƒËŠˆ’žYì.w'ŒÂ¡θ',¡нþ
```
No TIO for the entire program, because the `.w` builtin to access the internet doesn't work on TIO.
**Explanation:**
We start by creating the url, and accessing it:
```
•2íÐ•       # Push compressed integer 190437 (the id of this answer)
  ’¸¸.Â‚‹º.ŒŒ/„¤/ÿ?€¼=ƒËŠˆ’
            # Push dictionary string "api.stackexchange.com/posts/ÿ?site=codegolf",
            # where the `ÿ` is automatically filled with the 190437
    žY      # Push builtin "https://"
      ì     # And prepend it in front of the string
.w          # Go to this website, and get all its contents
```
[Try it online (without the `.w`).](https://tio.run/##AUwAs/9vc2FiaWX//@KAojLDrcOQ4oCi4oCZwrjCuC7DguKAmuKAucK6LsWSxZIv4oCewqQvw78/4oKswrw9xpLDi8Wgy4bigJnFvlnDrP//)
After that, we extract the score from the JSON:
```
'ŒÂ        '# Push dictionary string "score"
   ¡        # Split the website content on this
    θ       # Only leave the last item (of the two)
     ',¡   '# Split this string on ","
        н   # And this time leave the first item (i.e. `":10`)
         þ  # Only leave the digits of this string
            # (which is output implicitly as result)
```
[Try it online.](https://tio.run/##lVC7TsNAEPwVtAU0Jn6FQCxFFJQICYkSIWs5r51N7Dtzd06IojR8An/AX9BAQUSL@KNwNgmioKGc3ZnZ2VEGb5k2m4P3x/XD29PH84H39vT5sn7dbJbAlioDyfUS1FyShmQJmurGomUlITkKgpPAg8aQTjlzOIrCHbaLmiBx9IKNJU0ZeIBCUG1TjdathgMPaq1yLinlCouWPba2Nonvc89YFNMeV0Wje0JV/gXlV5e9SV2cmlEYnewXo9AZZmzqEhepxKqVn9OM5d6ZbnhiDElHKFlOf/kKlVGhyvzbnu7FGGVB3YE2tPG7D/xp63MofnxWHhihtDvhvivR2BSF5RnbRZp1v4RHg0EcRnHY90Bo6ur5Y1UrJ90Wg9LMXaPbYdteOAz68fF/MqP/rYHVjQdjNGnVhcyxNOTBXaMsphXeQxIHwQ5rqpAlywKSaNhffQE)
An equal 10-[bytes](https://github.com/Adriandmen/05AB1E/wiki/Codepage) alternative for this second part could be:
```
„ŒÂ‚¡       # Push dictionary string "score after"
     #      # Split it on spaces: ["score","after"]
      ¡     # Split the website content on these
       Ås   # Only leave the middle element
         þ  # Only leave the digits of this string
            # (which is output implicitly as result)
```
[Try it online.](https://tio.run/##lVDLSgNBEPwVacHTmn0kRrMgHjyKIHgUWdrZzqbN7sw6PauGEBDBH/DoQfBHPCT4I/5InF0fePDisbqrqqvLCF4wrdfvd89vj6v797un5cvm8mX1IKvX9XoO7KgSSM/mYG40WUjnYKluHDo2GtKdKNqLAmiEbMa5x0kSf2M3qwlSTy9YHFnKIQBUimqXWXR@NRoGUFsz5pIyrrBo2RPnaknDkHviUE17XBWN7SlThcc0Pj3pXdbFgezHyd5WsR97w5ylLnGWaaxa@RFds944tA1fipD2hJL19JevMjkVphx/2tOtmqAuqDvQhpaw@yCctj7b6sdnEYAoY/0J/12J4jJUjq/ZzbK8@yXeGQ77cdKPBwEoS109f6xq46VfxaCWG9/o17BtLx5Fg/7ufzJj@KmBxXkAE5Ss6kKOsRQK4KoxDrMKbyHtR9E3tlQha9YFpMlosPgA)
[See this 05AB1E tip of mine (sections *How to use the dictionary?* and *How to compress large integers?*)](https://codegolf.stackexchange.com/a/166851/52210) to understand why `•2íÐ•` is `190437`, `’¸¸.Â‚‹º.ŒŒ/„¤/ÿ?€¼=ƒËŠˆ’` is `"api.stackexchange.com/posts/ÿ?site=codegolf"`, `'ŒÂ` is `"score"`, and `„ŒÂ‚¡` is `"score after"`.
PS/EDIT: I realize that by using the `þ` I assume I will never get a negative score. ;)
[Answer]
# Google Sheets, 87 bytes
```
=Mid(Index(ImportData("http://api.stackexchange.com/posts/203609?site=codegolf"),7),7,9
```
Sheets will add the trailing parentheses automatically.
`ImportData` will treat the result as a CSV and split the text into columns.  
`Index(~,10)` pulls the 10th entry from that split result.  
`Mid(~,12,99)` starts at the 7th character and pulls up to the next 9.
So long as the score doesn't get to 10^9, this will work fine.
Here's a screenshot showing the three steps:
[![Screenshot](https://i.stack.imgur.com/1flG4.png)](https://i.stack.imgur.com/1flG4.png)
]