1speakerdeck = {
2    "endpoint": "https://speakerdeck.com/oembed.{format}",
3    "urls": [
4        r'^https?://speakerdeck\.com/.+$',
5    ],
6}
7
8app_net = {
9    "endpoint": "https://alpha-api.app.net/oembed",
10    "urls": [
11        r'^https?://alpha\.app\.net/[^#?/]+/post/.+$',
12        r'^https?://photos\.app\.net/[^#?/]+/.+$',
13    ],
14}
15
16youtube = {
17    "endpoint": "https://www.youtube.com/oembed",
18    "urls": [
19        r'^https?://(?:[-\w]+\.)?youtube\.com/watch.+$',
20        r'^https?://(?:[-\w]+\.)?youtube\.com/v/.+$',
21        r'^https?://youtu\.be/.+$',
22        r'^https?://(?:[-\w]+\.)?youtube\.com/user/.+$',
23        r'^https?://(?:[-\w]+\.)?youtube\.com/[^#?/]+#[^#?/]+/.+$',
24        r'^https?://m\.youtube\.com/index.+$',
25        r'^https?://(?:[-\w]+\.)?youtube\.com/profile.+$',
26        r'^https?://(?:[-\w]+\.)?youtube\.com/view_play_list.+$',
27        r'^https?://(?:[-\w]+\.)?youtube\.com/playlist.+$',
28    ],
29}
30
31datastudio = {
32    "endpoint": "https://datastudio.google.com/oembed",
33    "urls": [
34        r'^https?://(?:[-\w]+\.)?datastudio\.google\.com/embed/.+$',
35    ],
36}
37
38deviantart = {
39    "endpoint": "https://backend.deviantart.com/oembed",
40    "urls": [
41        r'^https?://(?:[-\w]+\.)?deviantart\.com/art/.+$',
42        r'^https?://fav\.me/.+$',
43        r'^https?://sta\.sh/.+$',
44        r'^https?://(?:[-\w]+\.)?deviantart\.com/[^#?/]+#/d.+$',
45    ],
46}
47
48blip_tv = {
49    "endpoint": "http://blip.tv/oembed/",
50    "urls": [
51        r'^http://[-\w]+\.blip\.tv/.+$',
52    ],
53}
54
55dailymotion = {
56    "endpoint": "https://www.dailymotion.com/api/oembed/",
57    "urls": [
58        r'^https?://[-\w]+\.dailymotion\.com/.+$',
59    ],
60}
61
62flikr = {
63    "endpoint": "https://www.flickr.com/services/oembed/",
64    "urls": [
65        r'^https?://[-\w]+\.flickr\.com/photos/.+$',
66        r'^https?://flic\.kr\.com/.+$',
67    ],
68}
69
70hulu = {
71    "endpoint": "https://www.hulu.com/api/oembed.{format}",
72    "urls": [
73        r'^https?://www\.hulu\.com/watch/.+$',
74    ],
75}
76
77nfb = {
78    "endpoint": "http://www.nfb.ca/remote/services/oembed/",
79    "urls": [
80        r'^http://(?:[-\w]+\.)?nfb\.ca/film/.+$',
81    ],
82}
83
84qik = {
85    "endpoint": "http://qik.com/api/oembed.{format}",
86    "urls": [
87        r'^http://qik\.com/.+$',
88        r'^http://qik\.ly/.+$',
89    ],
90}
91
92revision3 = {
93    "endpoint": "http://revision3.com/api/oembed/",
94    "urls": [
95        r'^http://[-\w]+\.revision3\.com/.+$',
96    ],
97}
98
99scribd = {
100    "endpoint": "https://www.scribd.com/services/oembed",
101    "urls": [
102        r'^https?://[-\w]+\.scribd\.com/.+$',
103    ],
104}
105
106viddler = {
107    "endpoint": "https://www.viddler.com/oembed/",
108    "urls": [
109        r'^https?://[-\w]+\.viddler\.com/v/.+$',
110        r'^https?://[-\w]+\.viddler\.com/explore/.+$',
111    ],
112}
113
114vimeo = {
115    "endpoint": "https://www.vimeo.com/api/oembed.{format}",
116    "urls": [
117        r'^https?://(?:www\.)?vimeo\.com/.+$',
118        r'^https?://player\.vimeo\.com/.+$',
119    ],
120}
121
122dotsub = {
123    "endpoint": "https://dotsub.com/services/oembed",
124    "urls": [
125        r'^https?://dotsub\.com/view/.+$',
126    ],
127}
128
129yfrog = {
130    "endpoint": "http://www.yfrog.com/api/oembed",
131    "urls": [
132        r'^https?://(?:www\.)?yfrog\.com/.+$',
133        r'^https?://(?:www\.)?yfrog\.us/.+$',
134    ],
135}
136
137clickthrough = {
138    "endpoint": "http://clikthrough.com/services/oembed",
139    "urls": [
140        r'^https?://(?:[-\w]+\.)?clikthrough\.com/.+$',
141    ],
142}
143
144kinomap = {
145    "endpoint": "https://www.kinomap.com/oembed",
146    "urls": [
147        r'^https?://[-\w]+\.kinomap\.com/.+$',
148    ],
149}
150
151photobucket = {
152    "endpoint": "https://photobucket.com/oembed",
153    "urls": [
154        r'^http://(?:[-\w]+\.)?photobucket\.com/albums/.+$',
155        r'^http://(?:[-\w]+\.)?photobucket\.com/groups/.+$',
156    ],
157}
158
159slideshare = {
160    "endpoint": "https://www.slideshare.net/api/oembed/2",
161    "urls": [
162        r'^https?://www\.slideshare\.net/.+$',
163    ],
164}
165
166major_league_gaming = {
167    "endpoint": "http://tv.majorleaguegaming.com/oembed",
168    "urls": [
169        r'^http://mlg\.tv/.+$',
170        r'^http://tv\.majorleaguegaming\.com/.+$',
171    ],
172}
173
174opera = {
175    "endpoint": "http://my.opera.com/service/oembed",
176    "urls": [
177        r'^http://my\.opera\.com/.+$',
178    ],
179}
180
181skitch = {
182    "endpoint": "http://skitch.com/oembed",
183    "urls": [
184        r'^https?://(?:www\.)?skitch\.com/.+$',
185        r'^http://skit\.ch/.+$',
186    ],
187}
188
189twitter = {
190    "endpoint": "https://api.twitter.com/1/statuses/oembed.{format}",
191    "urls": [
192        r'^https?://twitter\.com/(?:#!)?[^#?/]+/status/.+$',
193    ],
194}
195
196soundcloud = {
197    "endpoint": "https://soundcloud.com/oembed",
198    "urls": [
199        r'^https://soundcloud\.com/.+$',
200    ],
201}
202
203collegehumor = {
204    "endpoint": "http://www.collegehumor.com/oembed.{format}",
205    "urls": [
206        r'^http://(?:www\.)?collegehumor\.com/video/.+$',
207        r'^http://(?:www\.)?collegehumor\.com/video:.+$',
208    ],
209}
210
211polleverywhere = {
212    "endpoint": "https://www.polleverywhere.com/services/oembed/",
213    "urls": [
214        r'^https?://www\.polleverywhere\.com/polls/.+$',
215        r'^https?://www\.polleverywhere\.com/multiple_choice_polls/.+$',
216        r'^https?://www\.polleverywhere\.com/free_text_polls/.+$',
217    ],
218}
219
220ifixit = {
221    "endpoint": "https://www.ifixit.com/Embed",
222    "urls": [
223        r'^https?://www\.ifixit\.com/[^#?/]+/[^#?/]+/.+$',
224    ],
225}
226
227smugmug = {
228    "endpoint": "https://api.smugmug.com/services/oembed/",
229    "urls": [
230        r'^https?://(?:www\.)?smugmug\.com/[^#?/]+/.+$',
231    ],
232}
233
234github_gist = {
235    "endpoint": "https://github.com/api/oembed",
236    "urls": [
237        r'^https?://gist\.github\.com/.+$',
238    ],
239}
240
241animoto = {
242    "endpoint": "https://animoto.com/services/oembed",
243    "urls": [
244        r'^https?://animoto\.com/play/.+$',
245    ],
246}
247
248rdio = {
249    "endpoint": "http://www.rdio.com/api/oembed",
250    "urls": [
251        r'^http://(?:wwww\.)?rdio\.com/people/[^#?/]+/playlists/.+$',
252        r'^http://[-\w]+\.rdio\.com/artist/[^#?/]+/album/.+$',
253    ],
254}
255
256five_min = {
257    "endpoint": "http://api.5min.com/oembed.{format}",
258    "urls": [
259        r'^http://www\.5min\.com/video/.+$',
260    ],
261}
262
263five_hundred_px = {
264    "endpoint": "https://500px.com/photo/{1}/oembed.{format}",
265    "urls": [
266        r'^https?://500px\.com/photo/([^#?/]+)(?:.+)?$',
267    ],
268}
269
270dipdive = {
271    "endpoint": "http://api.dipdive.com/oembed.{format}",
272    "urls": [
273        r'^http://[-\w]+\.dipdive\.com/media/.+$',
274    ],
275}
276
277yandex = {
278    "endpoint": "https://video.yandex.ru/oembed.{format}",
279    "urls": [
280        r'^https?://video\.yandex\.ru/users/[^#?/]+/view/.+$',
281    ],
282}
283
284mixcloud = {
285    "endpoint": "https://www.mixcloud.com/oembed/",
286    "urls": [
287        r'^https?://(?:www\.)?mixcloud\.com/.+$',
288    ],
289}
290
291kickstarter = {
292    "endpoint": "https://www.kickstarter.com/services/oembed",
293    "urls": [
294        r'^https?://[-\w]+\.kickstarter\.com/projects/.+$',
295    ],
296}
297
298coub = {
299    "endpoint": "http://coub.com/api/oembed.{format}",
300    "urls": [
301        r'^https?://coub\.com/view/.+$',
302        r'^https?://coub\.com/embed/.+$',
303    ],
304}
305
306screenr = {
307    "endpoint": "http://www.screenr.com/api/oembed.{format}",
308    "urls": [
309        r'^http://www\.screenr\.com/.+$',
310    ],
311}
312
313funny_or_die = {
314    "endpoint": "https://www.funnyordie.com/oembed.{format}",
315    "urls": [
316        r'^https?://www\.funnyordie\.com/videos/.+$',
317    ],
318}
319
320wistia = {
321    "endpoint": "http://fast.wistia.com/oembed.{format}",
322    "urls": [
323        r'^https?://([^/]+\.)?(wistia.com|wi.st)/(medias|embed)/.+$',
324    ],
325}
326
327ustream = {
328    "endpoint": "http://www.ustream.tv/oembed",
329    "urls": [
330        r'^https?://(?:www\.)?ustream\.tv/.+$',
331        r'^https?://(?:www\.)?ustream\.com/.+$',
332        r'^http://ustre\.am/.+$',
333    ],
334}
335
336wordpress = {
337    "endpoint": "https://wordpress.tv/oembed/",
338    "urls": [
339        r'^https?://wordpress\.tv/.+$',
340    ],
341}
342
343polldaddy = {
344    "endpoint": "https://polldaddy.com/oembed/",
345    "urls": [
346        r'^https?://(?:[-\w]+\.)?polldaddy\.com/.+$',
347    ],
348}
349
350bambuser = {
351    "endpoint": "http://api.bambuser.com/oembed.{format}",
352    "urls": [
353        r'^http://bambuser\.com/channel/[^#?/]+/broadcast/.+$',
354        r'^http://bambuser\.com/channel/.+$',
355        r'^http://bambuser\.com/v/.+$',
356    ],
357}
358
359ted = {
360    "endpoint": "https://www.ted.com/talks/oembed.{format}",
361    "urls": [
362        r'^https?://(?:www\.)?ted\.com/talks/.+$',
363        r'^https?://(?:www\.)?ted\.com/talks/lang/[^#?/]+/.+$',
364        r'^https?://(?:www\.)?ted\.com/index\.php/talks/.+$',
365        r'^https?://(?:www\.)?ted\.com/index\.php/talks/lang/[^#?/]+/.+$',
366    ],
367}
368
369chirb = {
370    "endpoint": "https://chirb.it/oembed.{format}",
371    "urls": [
372        r'^https?://chirb\.it/.+$',
373    ],
374}
375
376circuitlab = {
377    "endpoint": "https://www.circuitlab.com/circuit/oembed/",
378    "urls": [
379        r'^https?://(?:www\.)?circuitlab\.com/circuit/.+$',
380    ],
381}
382
383geograph_uk = {
384    "endpoint": "http://api.geograph.org.uk/api/oembed",
385    "urls": [
386        r'^https?://(?:[-\w]+\.)?geograph\.org\.uk/.+$',
387        r'^https?://(?:[-\w]+\.)?geograph\.co\.uk/.+$',
388        r'^https?://(?:[-\w]+\.)?geograph\.ie/.+$',
389    ],
390}
391
392hlipp = {
393    "endpoint": "http://geo.hlipp.de/restapi.php/api/oembed",
394    "urls": [
395        r'^https?://geo-en\.hlipp\.de/.+$',
396        r'^https?://geo\.hlipp\.de/.+$',
397        r'^https?://germany\.geograph\.org/.+$',
398    ],
399}
400
401geograph_gg = {
402    "endpoint": "http://www.geograph.org.gg/api/oembed",
403    "urls": [
404        r'^https?://(?:[-\w]+\.)?geograph\.org\.gg/.+$',
405        r'^https?://(?:[-\w]+\.)?geograph\.org\.je/.+$',
406        r'^https?://channel-islands\.geograph\.org/.+$',
407        r'^https?://channel-islands\.geographs\.org/.+$',
408        r'^https?://(?:[-\w]+\.)?channel\.geographs\.org/.+$',
409    ],
410}
411
412vzaar = {
413    "endpoint": "http://vzaar.com/api/videos/{1}.{format}",
414    "urls": [
415        r'^http://(?:www\.)?vzaar\.com/videos/([^#?/]+)(?:.+)?$',
416        r'^http://www\.vzaar\.tv/([^#?/]+)(?:.+)?$',
417        r'^http://vzaar\.tv/([^#?/]+)(?:.+)?$',
418        r'^http://vzaar\.me/([^#?/]+)(?:.+)?$',
419        r'^http://[-\w]+\.vzaar\.me/([^#?/]+)(?:.+)?$',
420    ],
421}
422
423minoto = {
424    "endpoint": "http://api.minoto-video.com/services/oembed.{format}",
425    "urls": [
426        r'^http://api\.minoto-video\.com/publishers/[^#?/]+/videos/.+$',
427        r'^http://dashboard\.minoto-video\.com/main/video/details/.+$',
428        r'^http://embed\.minoto-video\.com/.+$',
429    ],
430}
431
432videojug = {
433    "endpoint": "http://www.videojug.com/oembed.{format}",
434    "urls": [
435        r'^https?://(?:[-\w]+\.)?videojug\.com/film/.+$',
436        r'^https?://(?:[-\w]+\.)?videojug\.com/payer/.+$',
437        r'^https?://(?:[-\w]+\.)?videojug\.com/interview/.+$',
438    ],
439}
440
441sapo = {
442    "endpoint": "http://videos.sapo.pt/oembed",
443    "urls": [
444        r'^https?://videos\.sapo\.pt/.+$',
445    ],
446}
447
448vhx_tv = {
449    "endpoint": "http://vhx.tv/services/oembed.{format}",
450    "urls": [
451        r'^https?://(?:www\.)?vhx\.tv/.+$',
452    ],
453}
454
455justin_tv = {
456    "endpoint": "http://api.justin.tv/api/embed/from_url.{format}",
457    "urls": [
458        r'^https?://(?:www\.)?justin\.tv/.+$',
459    ],
460}
461
462official_fm = {
463    "endpoint": "http://official.fm/services/oembed.{format}",
464    "urls": [
465        r'^https?://official\.fm/.+$',
466    ],
467}
468
469huffduffer = {
470    "endpoint": "https://huffduffer.com/oembed",
471    "urls": [
472        r'^https?://(?:www\.)?huffduffer\.com/[^#?/]+/.+$',
473    ],
474}
475
476spotify = {
477    "endpoint": "https://embed.spotify.com/oembed/",
478    "urls": [
479        r'^https?://open\.spotify\.com/.+$',
480        r'^https?://spoti\.fi/.+$',
481    ],
482}
483
484shoudio = {
485    "endpoint": "https://shoudio.com/api/oembed",
486    "urls": [
487        r'^https?://shoudio\.com/.+$',
488        r'^https?://shoud\.io/.+$',
489    ],
490}
491
492mobypicture = {
493    "endpoint": "http://api.mobypicture.com/oEmbed",
494    "urls": [
495        r'^https?://(?:www\.)?mobypicture\.com/user/[^#?/]+/view/.+$',
496        r'^https?://(?:www\.)?moby\.to/.+$',
497    ],
498}
499
500twenty_three_hq = {
501    "endpoint": "http://www.23hq.com/23/oembed",
502    "urls": [
503        r'^https?://(?:www\.)?23hq\.com/[^#?/]+/photo/.+$',
504    ],
505}
506
507gmep = {
508    "endpoint": "http://gmep.org/oembed.{format}",
509    "urls": [
510        r'^https?://(?:www\.)?gmep\.org/.+$',
511        r'^https?://gmep\.imeducate\.com/.+$',
512    ],
513}
514
515urtak = {
516    "endpoint": "http://oembed.urtak.com/1/oembed",
517    "urls": [
518        r'^https?://(?:[-\w]+\.)?urtak\.com/.+$',
519    ],
520}
521
522cacoo = {
523    "endpoint": "http://cacoo.com/oembed.{format}",
524    "urls": [
525        r'^https?://cacoo\.com/.+$',
526    ],
527}
528
529dailymile = {
530    "endpoint": "http://api.dailymile.com/oembed",
531    "urls": [
532        r'^https?://(?:www\.)?dailymile\.com/people/[^#?/]+/entries/.+$',
533    ],
534}
535
536dipity = {
537    "endpoint": "http://www.dipity.com/oembed/timeline/",
538    "urls": [
539        r'^https?://(?:www\.)?dipity\.com/timeline/.+$',
540        r'^https?://(?:www\.)?dipity\.com/voaweb/.+$',
541    ],
542}
543
544sketchfab = {
545    "endpoint": "https://sketchfab.com/oembed",
546    "urls": [
547        r'^https?://sketchfab\.com/show/.+$',
548    ],
549}
550
551meetup = {
552    "endpoint": "https://api.meetup.com/oembed",
553    "urls": [
554        r'^https?://(?:www\.)?meetup\.com/.+$',
555        r'^https?://(?:www\.)?meetup\.ps/.+$',
556    ],
557}
558
559roomshare = {
560    "endpoint": "https://roomshare.jp/oembed.{format}",
561    "urls": [
562        r'^https?://(?:www\.)?roomshare\.jp/(?:en/)?post/.+$',
563    ],
564}
565
566crowd_ranking = {
567    "endpoint": "http://crowdranking.com/api/oembed.{format}",
568    "urls": [
569        r'^https?://crowdranking\.com/crowdrankings/.+$',
570        r'^https?://crowdranking\.com/rankings/.+$',
571        r'^https?://crowdranking\.com/topics/.+$',
572        r'^https?://crowdranking\.com/widgets/.+$',
573        r'^https?://crowdranking\.com/r/.+$',
574    ],
575}
576
577etsy = {
578    "endpoint": "https://openapi.etsy.com/svc/oembed/",
579    "urls": [
580        r'^https?://(?:www\.)?etsy\.com/listing/.+$',
581    ],
582}
583
584audioboom = {
585    "endpoint": "https://audioboom.com/publishing/oembed.{format}",
586    "urls": [
587        r'^https?://audioboom\.com/boos/.+$',
588        r'^https?://audioboom\.com/posts/.+$',
589    ],
590}
591
592clikthrough = {
593    "endpoint": "http://demo.clikthrough.com/services/oembed/",
594    "urls": [
595        r'^https?://demo\.clikthrough\.com/theater/video/.+$',
596    ],
597}
598
599ifttt = {
600    "endpoint": "https://www.ifttt.com/oembed/",
601    "urls": [
602        r'^https?://ifttt\.com/recipes/.+$',
603    ],
604}
605
606issuu = {
607    "endpoint": "https://issuu.com/oembed",
608    "urls": [
609        r'^https?://(?:www\.)?issuu\.com/[^#?/]+/docs/.+$',
610    ],
611}
612
613tumblr = {
614    "endpoint": "https://www.tumblr.com/oembed/1.0",
615    "urls": [
616        r'^https?://.+?\.tumblr\.com/post/.+$',
617    ]
618}
619
620vidyard = {
621    "endpoint": "https://api.vidyard.com/dashboard/v1.1/oembed",
622    "urls": [
623        r'^https?://play\.vidyard\.com/.+$',
624        r'^https?://embed\.vidyard\.com/.+$',
625        r'^https?://share\.vidyard\.com/.+$',
626        r'^https?://.+?\.hubs\.vidyard\.com/.+$'
627    ]
628}
629
630reddit = {
631    'endpoint': 'https://www.reddit.com/oembed',
632    'urls': [
633        '^https?://(?:www\\.)?reddit\\.com/r/+[^#?/]+/comments/+[^#?/]+[^#?/].+$',
634    ]
635}
636
637all_providers = [
638    speakerdeck, app_net, youtube, datastudio, deviantart, blip_tv, dailymotion, flikr,
639    hulu, nfb, qik, revision3, scribd, viddler, vimeo, dotsub, yfrog,
640    clickthrough, kinomap, photobucket, slideshare,
641    major_league_gaming, opera, skitch, twitter, soundcloud, collegehumor,
642    polleverywhere, ifixit, smugmug, github_gist, animoto, rdio, five_min,
643    five_hundred_px, dipdive, yandex, mixcloud, kickstarter, coub, screenr,
644    funny_or_die, wistia, ustream, wordpress, polldaddy, bambuser, ted, chirb,
645    circuitlab, geograph_uk, hlipp, geograph_gg, vzaar, minoto, videojug, sapo,
646    vhx_tv, justin_tv, official_fm, huffduffer, spotify, shoudio, mobypicture,
647    twenty_three_hq, gmep, urtak, cacoo, dailymile, dipity, sketchfab, meetup,
648    roomshare, crowd_ranking, etsy, audioboom, clikthrough, ifttt, issuu, tumblr, vidyard,
649    reddit
650]
651